Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/.classpath9
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/.gitignore1
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/.project34
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/META-INF/MANIFEST.MF26
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/build.properties6
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/plugin.xml434
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/plugin.xml_gen398
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/AbstractNLSDslUiModule.java242
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/NLSDslExecutableExtensionFactory.java29
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/AbstractNLSDslProposalProvider.java158
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/NLSDslParser.java122
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/PartialNLSDslContentAssistParser.java38
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g2830
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.tokens44
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDslLexer.java2061
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDslParser.java8251
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/internal/NLSDslActivator.java95
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/NLSDslUiModule.java37
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/contentassist/NLSDslProposalProvider.xtend12
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/edit/StringReplacementHandler.xtend44
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/highlighting/NLSHighlightingCalculator.xtend22
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/highlighting/NLSHighlightingConfiguration.xtend22
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/highlighting/TokenToAttributeIdMapper.xtend18
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/labeling/NLSDslDescriptionLabelProvider.xtend24
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/labeling/NLSDslLabelProvider.xtend29
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/outline/NLSDslOutlineTreeProvider.xtend13
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/quickfix/NLSDslQuickfixProvider.xtend26
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/contentassist/.gitignore2
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/edit/.gitignore2
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/highlighting/.gitignore7
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/labeling/.gitignore4
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/outline/.gitignore2
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/quickfix/.gitignore2
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/.antlr-generator-3.2.0-patch.jarbin0 -> 1484649 bytes
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/.classpath9
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/.gitignore1
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/.launch/Generate Language Infrastructure (org.eclipse.fx.ide.l10n).launch18
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/.project34
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/META-INF/MANIFEST.MF35
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/build.properties7
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/model/generated/NLSDsl.ecore68
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/model/generated/NLSDsl.genmodel67
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/plugin.xml16
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/plugin.xml_gen16
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/AbstractNLSDslRuntimeModule.java172
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/NLSDsl.xtextbinbin0 -> 4524 bytes
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/NLSDslStandaloneSetupGenerated.java44
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/Message.java78
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/MessageEntry.java114
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/MessageParam.java81
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLS.java70
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLSBundle.java114
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLSDslFactory.java151
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLSDslPackage.java1323
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLSFormatter.java78
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/PackageDeclaration.java51
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/PredefinedTypes.java250
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichString.java43
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichStringLiteral.java51
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichStringLiteralEnd.java51
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichStringLiteralInbetween.java51
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichStringLiteralStart.java51
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichVarPart.java105
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/MessageEntryImpl.java344
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/MessageImpl.java265
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/MessageParamImpl.java234
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSBundleImpl.java335
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSDslFactoryImpl.java307
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSDslPackageImpl.java765
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSFormatterImpl.java233
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSImpl.java241
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/PackageDeclarationImpl.java177
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringImpl.java167
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringLiteralEndImpl.java177
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringLiteralImpl.java177
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringLiteralInbetweenImpl.java177
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringLiteralStartImpl.java177
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichVarPartImpl.java300
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/util/NLSDslAdapterFactory.java372
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/util/NLSDslSwitch.java395
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/NLSDslAntlrTokenFileProvider.java15
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/NLSDslParser.java39
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g1112
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.tokens44
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDslLexer.java2061
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDslParser.java3080
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/serializer/NLSDslSemanticSequencer.java314
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/serializer/NLSDslSyntacticSequencer.java40
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/services/NLSDslGrammarAccess.java930
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/validation/AbstractNLSDslValidator.java18
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/GenerateNLSDsl.mwe2133
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/NLSDsl.xtext87
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/NLSDslRuntimeModule.java11
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/NLSDslStandaloneSetup.java16
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/formatting/NLSDslFormatter.xtend30
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/generator/NLSDslGenerator.xtend219
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/scoping/NLSDslScopeProvider.xtend15
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/validation/NLSDslValidator.xtend24
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/formatting/.gitignore2
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/generator/.gitignore2
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/scoping/.gitignore2
-rw-r--r--bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/validation/.gitignore2
106 files changed, 31250 insertions, 0 deletions
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/.classpath b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/.classpath
new file mode 100644
index 000000000..d1b97f72b
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="xtend-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/.gitignore b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/.gitignore
new file mode 100644
index 000000000..ae3c17260
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/.project b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/.project
new file mode 100644
index 000000000..0757fe640
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.fx.ide.l10n.ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/.settings/org.eclipse.core.resources.prefs b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..99f26c020
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..f42de363a
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..504ecd4d0
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,26 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.fx.ide.l10n.ui
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.eclipse.fx.ide.l10n.ui; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.fx.ide.l10n;visibility:=reexport,
+ org.eclipse.xtext.ui,
+ org.eclipse.ui.editors;bundle-version="3.5.0",
+ org.eclipse.ui.ide;bundle-version="3.5.0",
+ org.eclipse.xtext.ui.shared,
+ org.eclipse.ui,
+ org.eclipse.xtext.builder,
+ org.eclipse.xtext.xbase.lib,
+ org.antlr.runtime,
+ org.eclipse.xtext.common.types.ui,
+ org.eclipse.xtext.ui.codetemplates.ui,
+ org.eclipse.compare
+Import-Package: org.apache.log4j
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Export-Package: org.eclipse.fx.ide.l10n.ui.quickfix,
+ org.eclipse.fx.ide.l10n.ui.contentassist,
+ org.eclipse.fx.ide.l10n.ui.contentassist.antlr,
+ org.eclipse.fx.ide.l10n.ui.internal
+Bundle-Activator: org.eclipse.fx.ide.l10n.ui.internal.NLSDslActivator
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/build.properties b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/build.properties
new file mode 100644
index 000000000..31255ed05
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml \ No newline at end of file
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/plugin.xml b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/plugin.xml
new file mode 100644
index 000000000..2abfc5394
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/plugin.xml
@@ -0,0 +1,434 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+ contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+ default="true"
+ extensions="l10n"
+ id="org.eclipse.fx.ide.l10n.NLSDsl"
+ name="NLSDsl Editor">
+ </editor>
+ </extension>
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+ commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+ commandId="org.eclipse.fx.ide.l10n.NLSDsl.validate">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <!-- copy qualified name -->
+ <handler
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
+ commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
+ <activeWhen>
+ <reference definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened" />
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
+ commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
+ <activeWhen>
+ <and>
+ <reference definitionId="org.eclipse.fx.ide.l10n.NLSDsl.XtextEditor.opened" />
+ <iterate>
+ <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+ </iterate>
+ </and>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.core.expressions.definitions">
+ <definition id="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ <and>
+ <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.fx.ide.l10n.NLSDsl"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ <definition id="org.eclipse.fx.ide.l10n.NLSDsl.XtextEditor.opened">
+ <and>
+ <reference definitionId="isXtextEditorActive"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.fx.ide.l10n.NLSDsl"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.fx.ide.l10n.NLSDsl"
+ name="NLSDsl">
+ <keywordReference id="org.eclipse.fx.ide.l10n.ui.keyword_NLSDsl"/>
+ </page>
+ <page
+ category="org.eclipse.fx.ide.l10n.NLSDsl"
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+ id="org.eclipse.fx.ide.l10n.NLSDsl.coloring"
+ name="Syntax Coloring">
+ <keywordReference id="org.eclipse.fx.ide.l10n.ui.keyword_NLSDsl"/>
+ </page>
+ <page
+ category="org.eclipse.fx.ide.l10n.NLSDsl"
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+ id="org.eclipse.fx.ide.l10n.NLSDsl.templates"
+ name="Templates">
+ <keywordReference id="org.eclipse.fx.ide.l10n.ui.keyword_NLSDsl"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.propertyPages">
+ <page
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.fx.ide.l10n.NLSDsl"
+ name="NLSDsl">
+ <keywordReference id="org.eclipse.fx.ide.l10n.ui.keyword_NLSDsl"/>
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject"/>
+ </enabledWhen>
+ <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.keywords">
+ <keyword
+ id="org.eclipse.fx.ide.l10n.ui.keyword_NLSDsl"
+ label="NLSDsl"/>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Trigger expensive validation"
+ id="org.eclipse.fx.ide.l10n.NLSDsl.validate"
+ name="Validate">
+ </command>
+ <!-- copy qualified name -->
+ <command
+ id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ categoryId="org.eclipse.ui.category.edit"
+ description="Copy the qualified name for the selected element"
+ name="Copy Qualified Name">
+ </command>
+ <command
+ id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+ categoryId="org.eclipse.ui.category.edit"
+ description="Copy the qualified name for the selected element"
+ name="Copy Qualified Name">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command
+ commandId="org.eclipse.fx.ide.l10n.NLSDsl.validate"
+ style="push"
+ tooltip="Trigger expensive validation">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <!-- copy qualified name -->
+ <menuContribution locationURI="popup:#TextEditorContext?after=copy">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened" />
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <menuContribution locationURI="menu:edit?after=copy">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened" />
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <and>
+ <reference definitionId="org.eclipse.fx.ide.l10n.NLSDsl.XtextEditor.opened" />
+ <iterate>
+ <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+ </iterate>
+ </and>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
+ <command commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+ commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+
+<!-- adding resource factories -->
+
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+ type="l10n">
+ </parser>
+ </extension>
+ <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+ <resourceServiceProvider
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+ uriExtension="l10n">
+ </resourceServiceProvider>
+ </extension>
+
+
+ <!-- marker definitions for org.eclipse.fx.ide.l10n.NLSDsl -->
+ <extension
+ id="nlsdsl.check.fast"
+ name="NLSDsl Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.fast"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="nlsdsl.check.normal"
+ name="NLSDsl Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.normal"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="nlsdsl.check.expensive"
+ name="NLSDsl Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.expensive"/>
+ <persistent value="true"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.xtext.builder.participant">
+ <participant
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
+ fileExtensions="l10n"
+ >
+ </participant>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ category="org.eclipse.fx.ide.l10n.NLSDsl"
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+ id="org.eclipse.fx.ide.l10n.NLSDsl.compiler.preferencePage"
+ name="Compiler">
+ <keywordReference id="org.eclipse.fx.ide.l10n.ui.keyword_NLSDsl"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.propertyPages">
+ <page
+ category="org.eclipse.fx.ide.l10n.NLSDsl"
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+ id="org.eclipse.fx.ide.l10n.NLSDsl.compiler.propertyPage"
+ name="Compiler">
+ <keywordReference id="org.eclipse.fx.ide.l10n.ui.keyword_NLSDsl"/>
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject"/>
+ </enabledWhen>
+ <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+ </page>
+ </extension>
+
+ <!-- Quick Outline -->
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+ commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Open the quick outline."
+ id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ name="Quick Outline">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.open">
+ <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ style="push"
+ tooltip="Open Quick Outline">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened"/>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <!-- quickfix marker resolution generator for org.eclipse.fx.ide.l10n.NLSDsl -->
+ <extension
+ point="org.eclipse.ui.ide.markerResolution">
+ <markerResolutionGenerator
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.fx.ide.l10n.ui.nlsdsl.check.fast">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.fx.ide.l10n.ui.nlsdsl.check.normal">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.fx.ide.l10n.ui.nlsdsl.check.expensive">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ </extension>
+ <!-- Rename Refactoring -->
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
+ commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
+ style="push">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.preferencePages">
+ <page
+ category="org.eclipse.fx.ide.l10n.NLSDsl"
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
+ id="org.eclipse.fx.ide.l10n.NLSDsl.refactoring"
+ name="Refactoring">
+ <keywordReference id="org.eclipse.fx.ide.l10n.ui.keyword_NLSDsl"/>
+ </page>
+ </extension>
+
+ <extension point="org.eclipse.compare.contentViewers">
+ <viewer id="org.eclipse.fx.ide.l10n.NLSDsl.compare.contentViewers"
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+ extensions="l10n">
+ </viewer>
+ </extension>
+ <extension point="org.eclipse.compare.contentMergeViewers">
+ <viewer id="org.eclipse.fx.ide.l10n.NLSDsl.compare.contentMergeViewers"
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+ extensions="l10n" label="NLSDsl Compare">
+ </viewer>
+ </extension>
+ <extension point="org.eclipse.ui.editors.documentProviders">
+ <provider id="org.eclipse.fx.ide.l10n.NLSDsl.editors.documentProviders"
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
+ extensions="l10n">
+ </provider>
+ </extension>
+ <extension
+ point="org.eclipse.ui.bindings">
+ <key
+ commandId="org.eclipse.fx.ide.l10n.ui.insertLeftGuillemet"
+ contextId="org.eclipse.fx.ide.l10n.ui.NLSEditorScope"
+ schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+ sequence="M4+&lt;">
+ </key>
+ <key
+ commandId="org.eclipse.fx.ide.l10n.ui.insertRightGuillemet"
+ contextId="org.eclipse.fx.ide.l10n.ui.NLSEditorScope"
+ schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+ sequence="M4+&gt;">
+ </key>
+ </extension>
+ <extension
+ point="org.eclipse.ui.contexts">
+ <context
+ id="org.eclipse.fx.ide.l10n.ui.NLSEditorScope"
+ name="NLS Editor Context"
+ parentId="org.eclipse.xtext.ui.XtextEditorScope">
+ </context>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ defaultHandler="org.eclipse.fx.ide.l10n.ui.edit.StringReplacementHandler$LeftGuillemet"
+ id="org.eclipse.fx.ide.l10n.ui.insertLeftGuillemet"
+ name="Left Guillemet">
+ </command>
+ <command
+ defaultHandler="org.eclipse.fx.ide.l10n.ui.edit.StringReplacementHandler$RightGuillemet"
+ id="org.eclipse.fx.ide.l10n.ui.insertRightGuillemet"
+ name="Right Guillemet">
+ </command>
+ </extension>
+
+</plugin>
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/plugin.xml_gen b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/plugin.xml_gen
new file mode 100644
index 000000000..e814adef2
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/plugin.xml_gen
@@ -0,0 +1,398 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+ contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+ default="true"
+ extensions="l10n"
+ id="org.eclipse.fx.ide.l10n.NLSDsl"
+ name="NLSDsl Editor">
+ </editor>
+ </extension>
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+ commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+ commandId="org.eclipse.fx.ide.l10n.NLSDsl.validate">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <!-- copy qualified name -->
+ <handler
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
+ commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
+ <activeWhen>
+ <reference definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened" />
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
+ commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
+ <activeWhen>
+ <and>
+ <reference definitionId="org.eclipse.fx.ide.l10n.NLSDsl.XtextEditor.opened" />
+ <iterate>
+ <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+ </iterate>
+ </and>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.core.expressions.definitions">
+ <definition id="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ <and>
+ <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.fx.ide.l10n.NLSDsl"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ <definition id="org.eclipse.fx.ide.l10n.NLSDsl.XtextEditor.opened">
+ <and>
+ <reference definitionId="isXtextEditorActive"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.fx.ide.l10n.NLSDsl"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.fx.ide.l10n.NLSDsl"
+ name="NLSDsl">
+ <keywordReference id="org.eclipse.fx.ide.l10n.ui.keyword_NLSDsl"/>
+ </page>
+ <page
+ category="org.eclipse.fx.ide.l10n.NLSDsl"
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+ id="org.eclipse.fx.ide.l10n.NLSDsl.coloring"
+ name="Syntax Coloring">
+ <keywordReference id="org.eclipse.fx.ide.l10n.ui.keyword_NLSDsl"/>
+ </page>
+ <page
+ category="org.eclipse.fx.ide.l10n.NLSDsl"
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+ id="org.eclipse.fx.ide.l10n.NLSDsl.templates"
+ name="Templates">
+ <keywordReference id="org.eclipse.fx.ide.l10n.ui.keyword_NLSDsl"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.propertyPages">
+ <page
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.fx.ide.l10n.NLSDsl"
+ name="NLSDsl">
+ <keywordReference id="org.eclipse.fx.ide.l10n.ui.keyword_NLSDsl"/>
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject"/>
+ </enabledWhen>
+ <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.keywords">
+ <keyword
+ id="org.eclipse.fx.ide.l10n.ui.keyword_NLSDsl"
+ label="NLSDsl"/>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Trigger expensive validation"
+ id="org.eclipse.fx.ide.l10n.NLSDsl.validate"
+ name="Validate">
+ </command>
+ <!-- copy qualified name -->
+ <command
+ id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ categoryId="org.eclipse.ui.category.edit"
+ description="Copy the qualified name for the selected element"
+ name="Copy Qualified Name">
+ </command>
+ <command
+ id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+ categoryId="org.eclipse.ui.category.edit"
+ description="Copy the qualified name for the selected element"
+ name="Copy Qualified Name">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command
+ commandId="org.eclipse.fx.ide.l10n.NLSDsl.validate"
+ style="push"
+ tooltip="Trigger expensive validation">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <!-- copy qualified name -->
+ <menuContribution locationURI="popup:#TextEditorContext?after=copy">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened" />
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <menuContribution locationURI="menu:edit?after=copy">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened" />
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <and>
+ <reference definitionId="org.eclipse.fx.ide.l10n.NLSDsl.XtextEditor.opened" />
+ <iterate>
+ <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+ </iterate>
+ </and>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
+ <command commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+ commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+
+<!-- adding resource factories -->
+
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+ type="l10n">
+ </parser>
+ </extension>
+ <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+ <resourceServiceProvider
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+ uriExtension="l10n">
+ </resourceServiceProvider>
+ </extension>
+
+
+ <!-- marker definitions for org.eclipse.fx.ide.l10n.NLSDsl -->
+ <extension
+ id="nlsdsl.check.fast"
+ name="NLSDsl Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.fast"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="nlsdsl.check.normal"
+ name="NLSDsl Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.normal"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="nlsdsl.check.expensive"
+ name="NLSDsl Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.expensive"/>
+ <persistent value="true"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.xtext.builder.participant">
+ <participant
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
+ fileExtensions="l10n"
+ >
+ </participant>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ category="org.eclipse.fx.ide.l10n.NLSDsl"
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+ id="org.eclipse.fx.ide.l10n.NLSDsl.compiler.preferencePage"
+ name="Compiler">
+ <keywordReference id="org.eclipse.fx.ide.l10n.ui.keyword_NLSDsl"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.propertyPages">
+ <page
+ category="org.eclipse.fx.ide.l10n.NLSDsl"
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+ id="org.eclipse.fx.ide.l10n.NLSDsl.compiler.propertyPage"
+ name="Compiler">
+ <keywordReference id="org.eclipse.fx.ide.l10n.ui.keyword_NLSDsl"/>
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject"/>
+ </enabledWhen>
+ <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+ </page>
+ </extension>
+
+ <!-- Quick Outline -->
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+ commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Open the quick outline."
+ id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ name="Quick Outline">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.open">
+ <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ style="push"
+ tooltip="Open Quick Outline">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened"/>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <!-- quickfix marker resolution generator for org.eclipse.fx.ide.l10n.NLSDsl -->
+ <extension
+ point="org.eclipse.ui.ide.markerResolution">
+ <markerResolutionGenerator
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.fx.ide.l10n.ui.nlsdsl.check.fast">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.fx.ide.l10n.ui.nlsdsl.check.normal">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.fx.ide.l10n.ui.nlsdsl.check.expensive">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ </extension>
+ <!-- Rename Refactoring -->
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
+ commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
+ style="push">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.fx.ide.l10n.NLSDsl.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.preferencePages">
+ <page
+ category="org.eclipse.fx.ide.l10n.NLSDsl"
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
+ id="org.eclipse.fx.ide.l10n.NLSDsl.refactoring"
+ name="Refactoring">
+ <keywordReference id="org.eclipse.fx.ide.l10n.ui.keyword_NLSDsl"/>
+ </page>
+ </extension>
+
+ <extension point="org.eclipse.compare.contentViewers">
+ <viewer id="org.eclipse.fx.ide.l10n.NLSDsl.compare.contentViewers"
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+ extensions="l10n">
+ </viewer>
+ </extension>
+ <extension point="org.eclipse.compare.contentMergeViewers">
+ <viewer id="org.eclipse.fx.ide.l10n.NLSDsl.compare.contentMergeViewers"
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+ extensions="l10n" label="NLSDsl Compare">
+ </viewer>
+ </extension>
+ <extension point="org.eclipse.ui.editors.documentProviders">
+ <provider id="org.eclipse.fx.ide.l10n.NLSDsl.editors.documentProviders"
+ class="org.eclipse.fx.ide.l10n.ui.NLSDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
+ extensions="l10n">
+ </provider>
+ </extension>
+
+</plugin>
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/AbstractNLSDslUiModule.java b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/AbstractNLSDslUiModule.java
new file mode 100644
index 000000000..e843c0f40
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/AbstractNLSDslUiModule.java
@@ -0,0 +1,242 @@
+
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.l10n.ui;
+
+import org.eclipse.xtext.ui.DefaultUiModule;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * Manual modifications go to {org.eclipse.fx.ide.l10n.ui.NLSDslUiModule}
+ */
+@SuppressWarnings("all")
+public abstract class AbstractNLSDslUiModule extends DefaultUiModule {
+
+ public AbstractNLSDslUiModule(AbstractUIPlugin plugin) {
+ super(plugin);
+ }
+
+
+ // contributed by org.eclipse.xtext.ui.generator.ImplicitUiFragment
+ public com.google.inject.Provider<org.eclipse.xtext.resource.containers.IAllContainersState> provideIAllContainersState() {
+ return org.eclipse.xtext.ui.shared.Access.getJavaProjectsState();
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper> bindIProposalConflictHelper() {
+ return org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureHighlightingLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.fx.ide.l10n.parser.antlr.internal.InternalNLSDslLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureHighlightingTokenDefProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.ITokenDefProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator> bindIDependentElementsCalculator() {
+ return org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.builder.clustering.CurrentDescriptions.ResourceSetAware.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.IXtextEditorCallback> bindIXtextEditorCallback() {
+ return org.eclipse.xtext.builder.nature.NatureAddingEditorCallback.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
+ return org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+ public Class<? extends org.eclipse.xtext.builder.IXtextBuilderParticipant> bindIXtextBuilderParticipant() {
+ return org.eclipse.xtext.builder.BuilderParticipant.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+ public org.eclipse.core.resources.IWorkspaceRoot bindIWorkspaceRootToInstance() {
+ return org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot();
+ }
+
+ // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+ public void configureBuilderPreferenceStoreInitializer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer.class).annotatedWith(com.google.inject.name.Names.named("builderPreferenceInitializer")).to(org.eclipse.xtext.builder.preferences.BuilderPreferenceAccess.Initializer.class);
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
+ public Class<? extends org.eclipse.jface.viewers.ILabelProvider> bindILabelProvider() {
+ return org.eclipse.fx.ide.l10n.ui.labeling.NLSDslLabelProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
+ public void configureResourceUIServiceLabelProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.jface.viewers.ILabelProvider.class).annotatedWith(org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider.class).to(org.eclipse.fx.ide.l10n.ui.labeling.NLSDslDescriptionLabelProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider> bindIOutlineTreeProvider() {
+ return org.eclipse.fx.ide.l10n.ui.outline.NLSDslOutlineTreeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
+ return org.eclipse.fx.ide.l10n.ui.outline.NLSDslOutlineTreeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.quickfix.QuickfixProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() {
+ return org.eclipse.fx.ide.l10n.ui.quickfix.NLSDslQuickfixProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.contentAssist.ContentAssistFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider> bindIContentProposalProvider() {
+ return org.eclipse.fx.ide.l10n.ui.contentassist.NLSDslProposalProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext.Factory> bindContentAssistContext$Factory() {
+ return org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.antlr.IContentAssistParser> bindIContentAssistParser() {
+ return org.eclipse.fx.ide.l10n.ui.contentassist.antlr.NLSDslParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public void configureContentAssistLexerProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.fx.ide.l10n.ui.contentassist.antlr.internal.InternalNLSDslLexer.class).toProvider(org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.fx.ide.l10n.ui.contentassist.antlr.internal.InternalNLSDslLexer.class));
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public void configureContentAssistLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.CONTENT_ASSIST)).to(org.eclipse.fx.ide.l10n.ui.contentassist.antlr.internal.InternalNLSDslLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.IRenameStrategy> bindIRenameStrategy() {
+ return org.eclipse.xtext.ui.refactoring.impl.DefaultRenameStrategy.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.IReferenceUpdater> bindIReferenceUpdater() {
+ return org.eclipse.xtext.ui.refactoring.impl.DefaultReferenceUpdater.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+ public void configureIPreferenceStoreInitializer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer.class).annotatedWith(com.google.inject.name.Names.named("RefactoringPreferences")).to(org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences.Initializer.class);
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.IRenameRefactoringProvider> bindIRenameRefactoringProvider() {
+ return org.eclipse.xtext.ui.refactoring.impl.DefaultRenameRefactoringProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.ui.IRenameSupport.Factory> bindIRenameSupport$Factory() {
+ return org.eclipse.xtext.ui.refactoring.ui.DefaultRenameSupport.Factory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public java.lang.ClassLoader bindClassLoaderToInstance() {
+ return getClass().getClassLoader();
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
+ return org.eclipse.xtext.common.types.access.jdt.JdtTypeProviderFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
+ return org.eclipse.xtext.common.types.xtext.ui.JdtBasedSimpleTypeScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.xtext.ui.ITypesProposalProvider> bindITypesProposalProvider() {
+ return org.eclipse.xtext.common.types.xtext.ui.JdtTypesProposalProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.access.jdt.IJavaProjectProvider> bindIJavaProjectProvider() {
+ return org.eclipse.xtext.common.types.xtext.ui.XtextResourceSetBasedProjectProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.hyperlinking.IHyperlinkHelper> bindIHyperlinkHelper() {
+ return org.eclipse.xtext.common.types.xtext.ui.TypeAwareHyperlinkHelper.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher> bindPrefixMatcher() {
+ return org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.AbstractJavaBasedContentProposalProvider.ReferenceProposalCreator> bindAbstractJavaBasedContentProposalProvider$ReferenceProposalCreator() {
+ return org.eclipse.xtext.common.types.xtext.ui.TypeAwareReferenceProposalCreator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.IValidationJobScheduler> bindIValidationJobScheduler() {
+ return org.eclipse.xtext.common.types.xtext.ui.JdtValidationJobScheduler.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.impl.RefactoringResourceSetProvider> bindRefactoringResourceSetProvider() {
+ return org.eclipse.xtext.common.types.ui.refactoring.JvmRefactoringResourceSetProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.ui.query.IJavaSearchParticipation> bindIJavaSearchParticipation() {
+ return org.eclipse.xtext.common.types.ui.query.IJavaSearchParticipation.Yes.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.xtext.ui.codetemplates.ui.preferences.TemplatesLanguageConfiguration> provideTemplatesLanguageConfiguration() {
+ return org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider();
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistry> provideLanguageRegistry() {
+ return org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator.getLanguageRegistry();
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar> bindLanguageRegistrar() {
+ return org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage> bindXtextTemplatePreferencePage() {
+ return org.eclipse.xtext.ui.codetemplates.ui.preferences.AdvancedTemplatesPreferencePage.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser> bindIPartialContentAssistParser() {
+ return org.eclipse.fx.ide.l10n.ui.contentassist.antlr.PartialNLSDslContentAssistParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.compare.CompareFragment
+ public Class<? extends org.eclipse.compare.IViewerCreator> bindIViewerCreator() {
+ return org.eclipse.xtext.ui.compare.DefaultViewerCreator.class;
+ }
+
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/NLSDslExecutableExtensionFactory.java b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/NLSDslExecutableExtensionFactory.java
new file mode 100644
index 000000000..4f7de5666
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/NLSDslExecutableExtensionFactory.java
@@ -0,0 +1,29 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.l10n.ui;
+
+import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
+import org.osgi.framework.Bundle;
+
+import com.google.inject.Injector;
+
+import org.eclipse.fx.ide.l10n.ui.internal.NLSDslActivator;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass.
+ */
+public class NLSDslExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
+
+ @Override
+ protected Bundle getBundle() {
+ return NLSDslActivator.getInstance().getBundle();
+ }
+
+ @Override
+ protected Injector getInjector() {
+ return NLSDslActivator.getInstance().getInjector(NLSDslActivator.ORG_ECLIPSE_FX_IDE_L10N_NLSDSL);
+ }
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/AbstractNLSDslProposalProvider.java b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/AbstractNLSDslProposalProvider.java
new file mode 100644
index 000000000..504bfc6d1
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/AbstractNLSDslProposalProvider.java
@@ -0,0 +1,158 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.fx.ide.l10n.ui.contentassist;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
+import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
+
+/**
+ * Represents a generated, default implementation of superclass {@link org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider}.
+ * Methods are dynamically dispatched on the first parameter, i.e., you can override them
+ * with a more concrete subtype.
+ */
+@SuppressWarnings("all")
+public class AbstractNLSDslProposalProvider extends org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider {
+
+ public void completeNLS_Package(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeNLS_BundleList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePackageDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeNLSBundle_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeNLSBundle_Lang(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeNLSBundle_FormatterList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeNLSBundle_MessageEntryList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeNLSFormatter_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeNLSFormatter_ClassRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMessageEntry_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMessageEntry_ParamList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMessageEntry_MessageList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMessageEntry_EntryRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMessageParam_Predefined(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMessageParam_Var(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMessage_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMessage_Message(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRichString_Expressions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRichStringLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRichStringLiteralStart_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRichStringLiteralEnd_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRichStringLiteralInbetween_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRichVarPart_Key(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRichVarPart_Format(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRichVarPart_FormatterClass(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+
+ public void complete_NLS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_PackageDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_NLSBundle(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_NLSFormatter(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_MessageEntry(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_MessageParam(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Message(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_RichString(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_RichStringLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_RichStringLiteralStart(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_RichStringLiteralEnd(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_RichStringLiteralInbetween(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_RichVarPart(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ValidID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_QualifiedName(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_PredefinedTypes(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_RICH_TEXT(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_RICH_TEXT_START(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_RICH_TEXT_END(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_RICH_TEXT_INBETWEEN(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_IN_RICH_STRING(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/NLSDslParser.java b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/NLSDslParser.java
new file mode 100644
index 000000000..a19d8526d
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/NLSDslParser.java
@@ -0,0 +1,122 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.fx.ide.l10n.ui.contentassist.antlr;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.HashMap;
+
+import org.antlr.runtime.RecognitionException;
+import org.eclipse.xtext.AbstractElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+
+import com.google.inject.Inject;
+
+import org.eclipse.fx.ide.l10n.services.NLSDslGrammarAccess;
+
+public class NLSDslParser extends AbstractContentAssistParser {
+
+ @Inject
+ private NLSDslGrammarAccess grammarAccess;
+
+ private Map<AbstractElement, String> nameMappings;
+
+ @Override
+ protected org.eclipse.fx.ide.l10n.ui.contentassist.antlr.internal.InternalNLSDslParser createParser() {
+ org.eclipse.fx.ide.l10n.ui.contentassist.antlr.internal.InternalNLSDslParser result = new org.eclipse.fx.ide.l10n.ui.contentassist.antlr.internal.InternalNLSDslParser(null);
+ result.setGrammarAccess(grammarAccess);
+ return result;
+ }
+
+ @Override
+ protected String getRuleName(AbstractElement element) {
+ if (nameMappings == null) {
+ nameMappings = new HashMap<AbstractElement, String>() {
+ private static final long serialVersionUID = 1L;
+ {
+ put(grammarAccess.getMessageEntryAccess().getAlternatives_3(), "rule__MessageEntry__Alternatives_3");
+ put(grammarAccess.getRichStringAccess().getAlternatives(), "rule__RichString__Alternatives");
+ put(grammarAccess.getPredefinedTypesAccess().getAlternatives(), "rule__PredefinedTypes__Alternatives");
+ put(grammarAccess.getNLSAccess().getGroup(), "rule__NLS__Group__0");
+ put(grammarAccess.getPackageDeclarationAccess().getGroup(), "rule__PackageDeclaration__Group__0");
+ put(grammarAccess.getNLSBundleAccess().getGroup(), "rule__NLSBundle__Group__0");
+ put(grammarAccess.getNLSFormatterAccess().getGroup(), "rule__NLSFormatter__Group__0");
+ put(grammarAccess.getMessageEntryAccess().getGroup(), "rule__MessageEntry__Group__0");
+ put(grammarAccess.getMessageEntryAccess().getGroup_1(), "rule__MessageEntry__Group_1__0");
+ put(grammarAccess.getMessageEntryAccess().getGroup_1_2(), "rule__MessageEntry__Group_1_2__0");
+ put(grammarAccess.getMessageEntryAccess().getGroup_3_0(), "rule__MessageEntry__Group_3_0__0");
+ put(grammarAccess.getMessageEntryAccess().getGroup_3_0_2(), "rule__MessageEntry__Group_3_0_2__0");
+ put(grammarAccess.getMessageEntryAccess().getGroup_3_1(), "rule__MessageEntry__Group_3_1__0");
+ put(grammarAccess.getMessageParamAccess().getGroup(), "rule__MessageParam__Group__0");
+ put(grammarAccess.getMessageAccess().getGroup(), "rule__Message__Group__0");
+ put(grammarAccess.getRichStringAccess().getGroup_1(), "rule__RichString__Group_1__0");
+ put(grammarAccess.getRichStringAccess().getGroup_1_2(), "rule__RichString__Group_1_2__0");
+ put(grammarAccess.getRichVarPartAccess().getGroup(), "rule__RichVarPart__Group__0");
+ put(grammarAccess.getRichVarPartAccess().getGroup_1(), "rule__RichVarPart__Group_1__0");
+ put(grammarAccess.getQualifiedNameAccess().getGroup(), "rule__QualifiedName__Group__0");
+ put(grammarAccess.getQualifiedNameAccess().getGroup_1(), "rule__QualifiedName__Group_1__0");
+ put(grammarAccess.getNLSAccess().getPackageAssignment_0(), "rule__NLS__PackageAssignment_0");
+ put(grammarAccess.getNLSAccess().getBundleListAssignment_2(), "rule__NLS__BundleListAssignment_2");
+ put(grammarAccess.getPackageDeclarationAccess().getNameAssignment_1(), "rule__PackageDeclaration__NameAssignment_1");
+ put(grammarAccess.getNLSBundleAccess().getNameAssignment_1(), "rule__NLSBundle__NameAssignment_1");
+ put(grammarAccess.getNLSBundleAccess().getLangAssignment_3(), "rule__NLSBundle__LangAssignment_3");
+ put(grammarAccess.getNLSBundleAccess().getFormatterListAssignment_5(), "rule__NLSBundle__FormatterListAssignment_5");
+ put(grammarAccess.getNLSBundleAccess().getMessageEntryListAssignment_6(), "rule__NLSBundle__MessageEntryListAssignment_6");
+ put(grammarAccess.getNLSFormatterAccess().getNameAssignment_1(), "rule__NLSFormatter__NameAssignment_1");
+ put(grammarAccess.getNLSFormatterAccess().getClassRefAssignment_2(), "rule__NLSFormatter__ClassRefAssignment_2");
+ put(grammarAccess.getMessageEntryAccess().getNameAssignment_0(), "rule__MessageEntry__NameAssignment_0");
+ put(grammarAccess.getMessageEntryAccess().getParamListAssignment_1_1(), "rule__MessageEntry__ParamListAssignment_1_1");
+ put(grammarAccess.getMessageEntryAccess().getParamListAssignment_1_2_1(), "rule__MessageEntry__ParamListAssignment_1_2_1");
+ put(grammarAccess.getMessageEntryAccess().getMessageListAssignment_3_0_1(), "rule__MessageEntry__MessageListAssignment_3_0_1");
+ put(grammarAccess.getMessageEntryAccess().getMessageListAssignment_3_0_2_1(), "rule__MessageEntry__MessageListAssignment_3_0_2_1");
+ put(grammarAccess.getMessageEntryAccess().getEntryRefAssignment_3_1_1(), "rule__MessageEntry__EntryRefAssignment_3_1_1");
+ put(grammarAccess.getMessageParamAccess().getPredefinedAssignment_0(), "rule__MessageParam__PredefinedAssignment_0");
+ put(grammarAccess.getMessageParamAccess().getVarAssignment_1(), "rule__MessageParam__VarAssignment_1");
+ put(grammarAccess.getMessageAccess().getNameAssignment_0(), "rule__Message__NameAssignment_0");
+ put(grammarAccess.getMessageAccess().getMessageAssignment_2(), "rule__Message__MessageAssignment_2");
+ put(grammarAccess.getRichStringAccess().getExpressionsAssignment_0(), "rule__RichString__ExpressionsAssignment_0");
+ put(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_0(), "rule__RichString__ExpressionsAssignment_1_0");
+ put(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_1(), "rule__RichString__ExpressionsAssignment_1_1");
+ put(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_2_0(), "rule__RichString__ExpressionsAssignment_1_2_0");
+ put(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_2_1(), "rule__RichString__ExpressionsAssignment_1_2_1");
+ put(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_3(), "rule__RichString__ExpressionsAssignment_1_3");
+ put(grammarAccess.getRichStringLiteralAccess().getValueAssignment(), "rule__RichStringLiteral__ValueAssignment");
+ put(grammarAccess.getRichStringLiteralStartAccess().getValueAssignment(), "rule__RichStringLiteralStart__ValueAssignment");
+ put(grammarAccess.getRichStringLiteralEndAccess().getValueAssignment(), "rule__RichStringLiteralEnd__ValueAssignment");
+ put(grammarAccess.getRichStringLiteralInbetweenAccess().getValueAssignment(), "rule__RichStringLiteralInbetween__ValueAssignment");
+ put(grammarAccess.getRichVarPartAccess().getKeyAssignment_0(), "rule__RichVarPart__KeyAssignment_0");
+ put(grammarAccess.getRichVarPartAccess().getFormatAssignment_1_0(), "rule__RichVarPart__FormatAssignment_1_0");
+ put(grammarAccess.getRichVarPartAccess().getFormatterClassAssignment_1_1(), "rule__RichVarPart__FormatterClassAssignment_1_1");
+ }
+ };
+ }
+ return nameMappings.get(element);
+ }
+
+ @Override
+ protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
+ try {
+ org.eclipse.fx.ide.l10n.ui.contentassist.antlr.internal.InternalNLSDslParser typedParser = (org.eclipse.fx.ide.l10n.ui.contentassist.antlr.internal.InternalNLSDslParser) parser;
+ typedParser.entryRuleNLS();
+ return typedParser.getFollowElements();
+ } catch(RecognitionException ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ @Override
+ protected String[] getInitialHiddenTokens() {
+ return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
+ }
+
+ public NLSDslGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(NLSDslGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/PartialNLSDslContentAssistParser.java b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/PartialNLSDslContentAssistParser.java
new file mode 100644
index 000000000..bcebf2067
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/PartialNLSDslContentAssistParser.java
@@ -0,0 +1,38 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.l10n.ui.contentassist.antlr;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.xtext.AbstractRule;
+import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.util.PolymorphicDispatcher;
+
+/**
+ * @author Sebastian Zarnekow - Initial contribution and API
+ */
+@SuppressWarnings("restriction")
+public class PartialNLSDslContentAssistParser extends NLSDslParser implements IPartialContentAssistParser {
+
+ private AbstractRule rule;
+
+ public void initializeFor(AbstractRule rule) {
+ this.rule = rule;
+ }
+
+ @Override
+ protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
+ if (rule == null || rule.eIsProxy())
+ return Collections.emptyList();
+ String methodName = "entryRule" + rule.getName();
+ PolymorphicDispatcher<Collection<FollowElement>> dispatcher =
+ new PolymorphicDispatcher<Collection<FollowElement>>(methodName, 0, 0, Collections.singletonList(parser));
+ dispatcher.invoke();
+ return parser.getFollowElements();
+ }
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g
new file mode 100644
index 000000000..04292b62e
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g
@@ -0,0 +1,2830 @@
+/*
+* generated by Xtext
+*/
+grammar InternalNLSDsl;
+
+options {
+ superClass=AbstractInternalContentAssistParser;
+ backtrack=true;
+
+}
+
+@lexer::header {
+package org.eclipse.fx.ide.l10n.ui.contentassist.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
+}
+
+@parser::header {
+package org.eclipse.fx.ide.l10n.ui.contentassist.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
+import org.eclipse.fx.ide.l10n.services.NLSDslGrammarAccess;
+
+}
+
+@parser::members {
+
+ private NLSDslGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(NLSDslGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+
+}
+
+
+
+
+// Entry rule entryRuleNLS
+entryRuleNLS
+:
+{ before(grammarAccess.getNLSRule()); }
+ ruleNLS
+{ after(grammarAccess.getNLSRule()); }
+ EOF
+;
+
+// Rule NLS
+ruleNLS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNLSAccess().getGroup()); }
+(rule__NLS__Group__0)
+{ after(grammarAccess.getNLSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePackageDeclaration
+entryRulePackageDeclaration
+:
+{ before(grammarAccess.getPackageDeclarationRule()); }
+ rulePackageDeclaration
+{ after(grammarAccess.getPackageDeclarationRule()); }
+ EOF
+;
+
+// Rule PackageDeclaration
+rulePackageDeclaration
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPackageDeclarationAccess().getGroup()); }
+(rule__PackageDeclaration__Group__0)
+{ after(grammarAccess.getPackageDeclarationAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNLSBundle
+entryRuleNLSBundle
+:
+{ before(grammarAccess.getNLSBundleRule()); }
+ ruleNLSBundle
+{ after(grammarAccess.getNLSBundleRule()); }
+ EOF
+;
+
+// Rule NLSBundle
+ruleNLSBundle
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNLSBundleAccess().getGroup()); }
+(rule__NLSBundle__Group__0)
+{ after(grammarAccess.getNLSBundleAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNLSFormatter
+entryRuleNLSFormatter
+:
+{ before(grammarAccess.getNLSFormatterRule()); }
+ ruleNLSFormatter
+{ after(grammarAccess.getNLSFormatterRule()); }
+ EOF
+;
+
+// Rule NLSFormatter
+ruleNLSFormatter
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNLSFormatterAccess().getGroup()); }
+(rule__NLSFormatter__Group__0)
+{ after(grammarAccess.getNLSFormatterAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleMessageEntry
+entryRuleMessageEntry
+:
+{ before(grammarAccess.getMessageEntryRule()); }
+ ruleMessageEntry
+{ after(grammarAccess.getMessageEntryRule()); }
+ EOF
+;
+
+// Rule MessageEntry
+ruleMessageEntry
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getMessageEntryAccess().getGroup()); }
+(rule__MessageEntry__Group__0)
+{ after(grammarAccess.getMessageEntryAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleMessageParam
+entryRuleMessageParam
+:
+{ before(grammarAccess.getMessageParamRule()); }
+ ruleMessageParam
+{ after(grammarAccess.getMessageParamRule()); }
+ EOF
+;
+
+// Rule MessageParam
+ruleMessageParam
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getMessageParamAccess().getGroup()); }
+(rule__MessageParam__Group__0)
+{ after(grammarAccess.getMessageParamAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleMessage
+entryRuleMessage
+:
+{ before(grammarAccess.getMessageRule()); }
+ ruleMessage
+{ after(grammarAccess.getMessageRule()); }
+ EOF
+;
+
+// Rule Message
+ruleMessage
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getMessageAccess().getGroup()); }
+(rule__Message__Group__0)
+{ after(grammarAccess.getMessageAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleRichString
+entryRuleRichString
+:
+{ before(grammarAccess.getRichStringRule()); }
+ ruleRichString
+{ after(grammarAccess.getRichStringRule()); }
+ EOF
+;
+
+// Rule RichString
+ruleRichString
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getRichStringAccess().getAlternatives()); }
+(rule__RichString__Alternatives)
+{ after(grammarAccess.getRichStringAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleRichStringLiteral
+entryRuleRichStringLiteral
+:
+{ before(grammarAccess.getRichStringLiteralRule()); }
+ ruleRichStringLiteral
+{ after(grammarAccess.getRichStringLiteralRule()); }
+ EOF
+;
+
+// Rule RichStringLiteral
+ruleRichStringLiteral
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getRichStringLiteralAccess().getValueAssignment()); }
+(rule__RichStringLiteral__ValueAssignment)
+{ after(grammarAccess.getRichStringLiteralAccess().getValueAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleRichStringLiteralStart
+entryRuleRichStringLiteralStart
+:
+{ before(grammarAccess.getRichStringLiteralStartRule()); }
+ ruleRichStringLiteralStart
+{ after(grammarAccess.getRichStringLiteralStartRule()); }
+ EOF
+;
+
+// Rule RichStringLiteralStart
+ruleRichStringLiteralStart
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getRichStringLiteralStartAccess().getValueAssignment()); }
+(rule__RichStringLiteralStart__ValueAssignment)
+{ after(grammarAccess.getRichStringLiteralStartAccess().getValueAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleRichStringLiteralEnd
+entryRuleRichStringLiteralEnd
+:
+{ before(grammarAccess.getRichStringLiteralEndRule()); }
+ ruleRichStringLiteralEnd
+{ after(grammarAccess.getRichStringLiteralEndRule()); }
+ EOF
+;
+
+// Rule RichStringLiteralEnd
+ruleRichStringLiteralEnd
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getRichStringLiteralEndAccess().getValueAssignment()); }
+(rule__RichStringLiteralEnd__ValueAssignment)
+{ after(grammarAccess.getRichStringLiteralEndAccess().getValueAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleRichStringLiteralInbetween
+entryRuleRichStringLiteralInbetween
+:
+{ before(grammarAccess.getRichStringLiteralInbetweenRule()); }
+ ruleRichStringLiteralInbetween
+{ after(grammarAccess.getRichStringLiteralInbetweenRule()); }
+ EOF
+;
+
+// Rule RichStringLiteralInbetween
+ruleRichStringLiteralInbetween
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getRichStringLiteralInbetweenAccess().getValueAssignment()); }
+(rule__RichStringLiteralInbetween__ValueAssignment)
+{ after(grammarAccess.getRichStringLiteralInbetweenAccess().getValueAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleRichVarPart
+entryRuleRichVarPart
+:
+{ before(grammarAccess.getRichVarPartRule()); }
+ ruleRichVarPart
+{ after(grammarAccess.getRichVarPartRule()); }
+ EOF
+;
+
+// Rule RichVarPart
+ruleRichVarPart
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getRichVarPartAccess().getGroup()); }
+(rule__RichVarPart__Group__0)
+{ after(grammarAccess.getRichVarPartAccess().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 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);
+}
+
+
+
+
+// Rule PredefinedTypes
+rulePredefinedTypes
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPredefinedTypesAccess().getAlternatives()); }
+(rule__PredefinedTypes__Alternatives)
+{ after(grammarAccess.getPredefinedTypesAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+rule__MessageEntry__Alternatives_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getGroup_3_0()); }
+(rule__MessageEntry__Group_3_0__0)
+{ after(grammarAccess.getMessageEntryAccess().getGroup_3_0()); }
+)
+
+ |(
+{ before(grammarAccess.getMessageEntryAccess().getGroup_3_1()); }
+(rule__MessageEntry__Group_3_1__0)
+{ after(grammarAccess.getMessageEntryAccess().getGroup_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichString__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringAccess().getExpressionsAssignment_0()); }
+(rule__RichString__ExpressionsAssignment_0)
+{ after(grammarAccess.getRichStringAccess().getExpressionsAssignment_0()); }
+)
+
+ |(
+{ before(grammarAccess.getRichStringAccess().getGroup_1()); }
+(rule__RichString__Group_1__0)
+{ after(grammarAccess.getRichStringAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PredefinedTypes__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPredefinedTypesAccess().getANYEnumLiteralDeclaration_0()); }
+( 'ANY'
+)
+{ after(grammarAccess.getPredefinedTypesAccess().getANYEnumLiteralDeclaration_0()); }
+)
+
+ |(
+{ before(grammarAccess.getPredefinedTypesAccess().getNUMBEREnumLiteralDeclaration_1()); }
+( 'NUMBER'
+)
+{ after(grammarAccess.getPredefinedTypesAccess().getNUMBEREnumLiteralDeclaration_1()); }
+)
+
+ |(
+{ before(grammarAccess.getPredefinedTypesAccess().getDATEEnumLiteralDeclaration_2()); }
+( 'DATE'
+)
+{ after(grammarAccess.getPredefinedTypesAccess().getDATEEnumLiteralDeclaration_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+rule__NLS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NLS__Group__0__Impl
+ rule__NLS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSAccess().getPackageAssignment_0()); }
+(rule__NLS__PackageAssignment_0)?
+{ after(grammarAccess.getNLSAccess().getPackageAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NLS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NLS__Group__1__Impl
+ rule__NLS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSAccess().getLeftCurlyBracketKeyword_1()); }
+
+ '{'
+
+{ after(grammarAccess.getNLSAccess().getLeftCurlyBracketKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NLS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NLS__Group__2__Impl
+ rule__NLS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getNLSAccess().getBundleListAssignment_2()); }
+(rule__NLS__BundleListAssignment_2)
+{ after(grammarAccess.getNLSAccess().getBundleListAssignment_2()); }
+)
+(
+{ before(grammarAccess.getNLSAccess().getBundleListAssignment_2()); }
+(rule__NLS__BundleListAssignment_2)*
+{ after(grammarAccess.getNLSAccess().getBundleListAssignment_2()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NLS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NLS__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSAccess().getRightCurlyBracketKeyword_3()); }
+
+ '}'
+
+{ after(grammarAccess.getNLSAccess().getRightCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__PackageDeclaration__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PackageDeclaration__Group__0__Impl
+ rule__PackageDeclaration__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PackageDeclaration__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPackageDeclarationAccess().getPackageKeyword_0()); }
+
+ 'package'
+
+{ after(grammarAccess.getPackageDeclarationAccess().getPackageKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PackageDeclaration__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PackageDeclaration__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PackageDeclaration__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPackageDeclarationAccess().getNameAssignment_1()); }
+(rule__PackageDeclaration__NameAssignment_1)
+{ after(grammarAccess.getPackageDeclarationAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__NLSBundle__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NLSBundle__Group__0__Impl
+ rule__NLSBundle__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSBundle__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSBundleAccess().getBundleKeyword_0()); }
+
+ 'bundle'
+
+{ after(grammarAccess.getNLSBundleAccess().getBundleKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NLSBundle__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NLSBundle__Group__1__Impl
+ rule__NLSBundle__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSBundle__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSBundleAccess().getNameAssignment_1()); }
+(rule__NLSBundle__NameAssignment_1)
+{ after(grammarAccess.getNLSBundleAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NLSBundle__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NLSBundle__Group__2__Impl
+ rule__NLSBundle__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSBundle__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSBundleAccess().getDefaultKeyword_2()); }
+
+ 'default'
+
+{ after(grammarAccess.getNLSBundleAccess().getDefaultKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NLSBundle__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NLSBundle__Group__3__Impl
+ rule__NLSBundle__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSBundle__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSBundleAccess().getLangAssignment_3()); }
+(rule__NLSBundle__LangAssignment_3)
+{ after(grammarAccess.getNLSBundleAccess().getLangAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NLSBundle__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NLSBundle__Group__4__Impl
+ rule__NLSBundle__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSBundle__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSBundleAccess().getLeftCurlyBracketKeyword_4()); }
+
+ '{'
+
+{ after(grammarAccess.getNLSBundleAccess().getLeftCurlyBracketKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NLSBundle__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NLSBundle__Group__5__Impl
+ rule__NLSBundle__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSBundle__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSBundleAccess().getFormatterListAssignment_5()); }
+(rule__NLSBundle__FormatterListAssignment_5)*
+{ after(grammarAccess.getNLSBundleAccess().getFormatterListAssignment_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NLSBundle__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NLSBundle__Group__6__Impl
+ rule__NLSBundle__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSBundle__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getNLSBundleAccess().getMessageEntryListAssignment_6()); }
+(rule__NLSBundle__MessageEntryListAssignment_6)
+{ after(grammarAccess.getNLSBundleAccess().getMessageEntryListAssignment_6()); }
+)
+(
+{ before(grammarAccess.getNLSBundleAccess().getMessageEntryListAssignment_6()); }
+(rule__NLSBundle__MessageEntryListAssignment_6)*
+{ after(grammarAccess.getNLSBundleAccess().getMessageEntryListAssignment_6()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NLSBundle__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NLSBundle__Group__7__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSBundle__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSBundleAccess().getRightCurlyBracketKeyword_7()); }
+
+ '}'
+
+{ after(grammarAccess.getNLSBundleAccess().getRightCurlyBracketKeyword_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__NLSFormatter__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NLSFormatter__Group__0__Impl
+ rule__NLSFormatter__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSFormatter__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSFormatterAccess().getFormatterKeyword_0()); }
+
+ 'formatter'
+
+{ after(grammarAccess.getNLSFormatterAccess().getFormatterKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NLSFormatter__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NLSFormatter__Group__1__Impl
+ rule__NLSFormatter__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSFormatter__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSFormatterAccess().getNameAssignment_1()); }
+(rule__NLSFormatter__NameAssignment_1)
+{ after(grammarAccess.getNLSFormatterAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NLSFormatter__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NLSFormatter__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSFormatter__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSFormatterAccess().getClassRefAssignment_2()); }
+(rule__NLSFormatter__ClassRefAssignment_2)
+{ after(grammarAccess.getNLSFormatterAccess().getClassRefAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__MessageEntry__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group__0__Impl
+ rule__MessageEntry__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getNameAssignment_0()); }
+(rule__MessageEntry__NameAssignment_0)
+{ after(grammarAccess.getMessageEntryAccess().getNameAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageEntry__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group__1__Impl
+ rule__MessageEntry__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getGroup_1()); }
+(rule__MessageEntry__Group_1__0)?
+{ after(grammarAccess.getMessageEntryAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageEntry__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group__2__Impl
+ rule__MessageEntry__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getColonKeyword_2()); }
+
+ ':'
+
+{ after(grammarAccess.getMessageEntryAccess().getColonKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageEntry__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getAlternatives_3()); }
+(rule__MessageEntry__Alternatives_3)
+{ after(grammarAccess.getMessageEntryAccess().getAlternatives_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__MessageEntry__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group_1__0__Impl
+ rule__MessageEntry__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getLeftParenthesisKeyword_1_0()); }
+
+ '('
+
+{ after(grammarAccess.getMessageEntryAccess().getLeftParenthesisKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageEntry__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group_1__1__Impl
+ rule__MessageEntry__Group_1__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getParamListAssignment_1_1()); }
+(rule__MessageEntry__ParamListAssignment_1_1)
+{ after(grammarAccess.getMessageEntryAccess().getParamListAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageEntry__Group_1__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group_1__2__Impl
+ rule__MessageEntry__Group_1__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group_1__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getGroup_1_2()); }
+(rule__MessageEntry__Group_1_2__0)*
+{ after(grammarAccess.getMessageEntryAccess().getGroup_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageEntry__Group_1__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group_1__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group_1__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getRightParenthesisKeyword_1_3()); }
+
+ ')'
+
+{ after(grammarAccess.getMessageEntryAccess().getRightParenthesisKeyword_1_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__MessageEntry__Group_1_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group_1_2__0__Impl
+ rule__MessageEntry__Group_1_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group_1_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getCommaKeyword_1_2_0()); }
+
+ ','
+
+{ after(grammarAccess.getMessageEntryAccess().getCommaKeyword_1_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageEntry__Group_1_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group_1_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group_1_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getParamListAssignment_1_2_1()); }
+(rule__MessageEntry__ParamListAssignment_1_2_1)
+{ after(grammarAccess.getMessageEntryAccess().getParamListAssignment_1_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__MessageEntry__Group_3_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group_3_0__0__Impl
+ rule__MessageEntry__Group_3_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group_3_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getLeftCurlyBracketKeyword_3_0_0()); }
+
+ '{'
+
+{ after(grammarAccess.getMessageEntryAccess().getLeftCurlyBracketKeyword_3_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageEntry__Group_3_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group_3_0__1__Impl
+ rule__MessageEntry__Group_3_0__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group_3_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getMessageListAssignment_3_0_1()); }
+(rule__MessageEntry__MessageListAssignment_3_0_1)
+{ after(grammarAccess.getMessageEntryAccess().getMessageListAssignment_3_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageEntry__Group_3_0__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group_3_0__2__Impl
+ rule__MessageEntry__Group_3_0__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group_3_0__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getGroup_3_0_2()); }
+(rule__MessageEntry__Group_3_0_2__0)*
+{ after(grammarAccess.getMessageEntryAccess().getGroup_3_0_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageEntry__Group_3_0__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group_3_0__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group_3_0__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getRightCurlyBracketKeyword_3_0_3()); }
+
+ '}'
+
+{ after(grammarAccess.getMessageEntryAccess().getRightCurlyBracketKeyword_3_0_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__MessageEntry__Group_3_0_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group_3_0_2__0__Impl
+ rule__MessageEntry__Group_3_0_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group_3_0_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getCommaKeyword_3_0_2_0()); }
+
+ ','
+
+{ after(grammarAccess.getMessageEntryAccess().getCommaKeyword_3_0_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageEntry__Group_3_0_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group_3_0_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group_3_0_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getMessageListAssignment_3_0_2_1()); }
+(rule__MessageEntry__MessageListAssignment_3_0_2_1)
+{ after(grammarAccess.getMessageEntryAccess().getMessageListAssignment_3_0_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__MessageEntry__Group_3_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group_3_1__0__Impl
+ rule__MessageEntry__Group_3_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group_3_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getLeftSquareBracketKeyword_3_1_0()); }
+
+ '['
+
+{ after(grammarAccess.getMessageEntryAccess().getLeftSquareBracketKeyword_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageEntry__Group_3_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group_3_1__1__Impl
+ rule__MessageEntry__Group_3_1__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group_3_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getEntryRefAssignment_3_1_1()); }
+(rule__MessageEntry__EntryRefAssignment_3_1_1)
+{ after(grammarAccess.getMessageEntryAccess().getEntryRefAssignment_3_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageEntry__Group_3_1__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageEntry__Group_3_1__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__Group_3_1__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getRightSquareBracketKeyword_3_1_2()); }
+
+ ']'
+
+{ after(grammarAccess.getMessageEntryAccess().getRightSquareBracketKeyword_3_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__MessageParam__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageParam__Group__0__Impl
+ rule__MessageParam__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageParam__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageParamAccess().getPredefinedAssignment_0()); }
+(rule__MessageParam__PredefinedAssignment_0)
+{ after(grammarAccess.getMessageParamAccess().getPredefinedAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageParam__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageParam__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageParam__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageParamAccess().getVarAssignment_1()); }
+(rule__MessageParam__VarAssignment_1)
+{ after(grammarAccess.getMessageParamAccess().getVarAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Message__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group__0__Impl
+ rule__Message__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getNameAssignment_0()); }
+(rule__Message__NameAssignment_0)
+{ after(grammarAccess.getMessageAccess().getNameAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Message__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group__1__Impl
+ rule__Message__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getColonKeyword_1()); }
+
+ ':'
+
+{ after(grammarAccess.getMessageAccess().getColonKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Message__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getMessageAssignment_2()); }
+(rule__Message__MessageAssignment_2)
+{ after(grammarAccess.getMessageAccess().getMessageAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__RichString__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RichString__Group_1__0__Impl
+ rule__RichString__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichString__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_0()); }
+(rule__RichString__ExpressionsAssignment_1_0)
+{ after(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RichString__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RichString__Group_1__1__Impl
+ rule__RichString__Group_1__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichString__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_1()); }
+(rule__RichString__ExpressionsAssignment_1_1)?
+{ after(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RichString__Group_1__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RichString__Group_1__2__Impl
+ rule__RichString__Group_1__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichString__Group_1__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringAccess().getGroup_1_2()); }
+(rule__RichString__Group_1_2__0)*
+{ after(grammarAccess.getRichStringAccess().getGroup_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RichString__Group_1__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RichString__Group_1__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichString__Group_1__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_3()); }
+(rule__RichString__ExpressionsAssignment_1_3)
+{ after(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__RichString__Group_1_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RichString__Group_1_2__0__Impl
+ rule__RichString__Group_1_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichString__Group_1_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_2_0()); }
+(rule__RichString__ExpressionsAssignment_1_2_0)
+{ after(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RichString__Group_1_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RichString__Group_1_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichString__Group_1_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_2_1()); }
+(rule__RichString__ExpressionsAssignment_1_2_1)?
+{ after(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__RichVarPart__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RichVarPart__Group__0__Impl
+ rule__RichVarPart__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichVarPart__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichVarPartAccess().getKeyAssignment_0()); }
+(rule__RichVarPart__KeyAssignment_0)
+{ after(grammarAccess.getRichVarPartAccess().getKeyAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RichVarPart__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RichVarPart__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichVarPart__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichVarPartAccess().getGroup_1()); }
+(rule__RichVarPart__Group_1__0)?
+{ after(grammarAccess.getRichVarPartAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__RichVarPart__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RichVarPart__Group_1__0__Impl
+ rule__RichVarPart__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichVarPart__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichVarPartAccess().getFormatAssignment_1_0()); }
+(rule__RichVarPart__FormatAssignment_1_0)
+{ after(grammarAccess.getRichVarPartAccess().getFormatAssignment_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RichVarPart__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RichVarPart__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichVarPart__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichVarPartAccess().getFormatterClassAssignment_1_1()); }
+(rule__RichVarPart__FormatterClassAssignment_1_1)?
+{ after(grammarAccess.getRichVarPartAccess().getFormatterClassAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__QualifiedName__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QualifiedName__Group__0__Impl
+ rule__QualifiedName__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QualifiedName__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); }
+ ruleValidID
+{ after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__QualifiedName__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QualifiedName__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QualifiedName__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQualifiedNameAccess().getGroup_1()); }
+(rule__QualifiedName__Group_1__0)*
+{ after(grammarAccess.getQualifiedNameAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__QualifiedName__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QualifiedName__Group_1__0__Impl
+ rule__QualifiedName__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QualifiedName__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); }
+(
+ '.'
+)
+{ after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__QualifiedName__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QualifiedName__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QualifiedName__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); }
+ ruleValidID
+{ after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+rule__NLS__PackageAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSAccess().getPackagePackageDeclarationParserRuleCall_0_0()); }
+ rulePackageDeclaration{ after(grammarAccess.getNLSAccess().getPackagePackageDeclarationParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLS__BundleListAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSAccess().getBundleListNLSBundleParserRuleCall_2_0()); }
+ ruleNLSBundle{ after(grammarAccess.getNLSAccess().getBundleListNLSBundleParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PackageDeclaration__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPackageDeclarationAccess().getNameQualifiedNameParserRuleCall_1_0()); }
+ ruleQualifiedName{ after(grammarAccess.getPackageDeclarationAccess().getNameQualifiedNameParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSBundle__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSBundleAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getNLSBundleAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSBundle__LangAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSBundleAccess().getLangIDTerminalRuleCall_3_0()); }
+ RULE_ID{ after(grammarAccess.getNLSBundleAccess().getLangIDTerminalRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSBundle__FormatterListAssignment_5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSBundleAccess().getFormatterListNLSFormatterParserRuleCall_5_0()); }
+ ruleNLSFormatter{ after(grammarAccess.getNLSBundleAccess().getFormatterListNLSFormatterParserRuleCall_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSBundle__MessageEntryListAssignment_6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSBundleAccess().getMessageEntryListMessageEntryParserRuleCall_6_0()); }
+ ruleMessageEntry{ after(grammarAccess.getNLSBundleAccess().getMessageEntryListMessageEntryParserRuleCall_6_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSFormatter__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSFormatterAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getNLSFormatterAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NLSFormatter__ClassRefAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNLSFormatterAccess().getClassRefQualifiedNameParserRuleCall_2_0()); }
+ ruleQualifiedName{ after(grammarAccess.getNLSFormatterAccess().getClassRefQualifiedNameParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__NameAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getNameIDTerminalRuleCall_0_0()); }
+ RULE_ID{ after(grammarAccess.getMessageEntryAccess().getNameIDTerminalRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__ParamListAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getParamListMessageParamParserRuleCall_1_1_0()); }
+ ruleMessageParam{ after(grammarAccess.getMessageEntryAccess().getParamListMessageParamParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__ParamListAssignment_1_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getParamListMessageParamParserRuleCall_1_2_1_0()); }
+ ruleMessageParam{ after(grammarAccess.getMessageEntryAccess().getParamListMessageParamParserRuleCall_1_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__MessageListAssignment_3_0_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getMessageListMessageParserRuleCall_3_0_1_0()); }
+ ruleMessage{ after(grammarAccess.getMessageEntryAccess().getMessageListMessageParserRuleCall_3_0_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__MessageListAssignment_3_0_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getMessageListMessageParserRuleCall_3_0_2_1_0()); }
+ ruleMessage{ after(grammarAccess.getMessageEntryAccess().getMessageListMessageParserRuleCall_3_0_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageEntry__EntryRefAssignment_3_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageEntryAccess().getEntryRefMessageEntryCrossReference_3_1_1_0()); }
+(
+{ before(grammarAccess.getMessageEntryAccess().getEntryRefMessageEntryQualifiedNameParserRuleCall_3_1_1_0_1()); }
+ ruleQualifiedName{ after(grammarAccess.getMessageEntryAccess().getEntryRefMessageEntryQualifiedNameParserRuleCall_3_1_1_0_1()); }
+)
+{ after(grammarAccess.getMessageEntryAccess().getEntryRefMessageEntryCrossReference_3_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageParam__PredefinedAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageParamAccess().getPredefinedPredefinedTypesEnumRuleCall_0_0()); }
+ rulePredefinedTypes{ after(grammarAccess.getMessageParamAccess().getPredefinedPredefinedTypesEnumRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageParam__VarAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageParamAccess().getVarIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getMessageParamAccess().getVarIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__NameAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getNameIDTerminalRuleCall_0_0()); }
+ RULE_ID{ after(grammarAccess.getMessageAccess().getNameIDTerminalRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__MessageAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getMessageRichStringParserRuleCall_2_0()); }
+ ruleRichString{ after(grammarAccess.getMessageAccess().getMessageRichStringParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichString__ExpressionsAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralParserRuleCall_0_0()); }
+ ruleRichStringLiteral{ after(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichString__ExpressionsAssignment_1_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralStartParserRuleCall_1_0_0()); }
+ ruleRichStringLiteralStart{ after(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralStartParserRuleCall_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichString__ExpressionsAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringAccess().getExpressionsRichVarPartParserRuleCall_1_1_0()); }
+ ruleRichVarPart{ after(grammarAccess.getRichStringAccess().getExpressionsRichVarPartParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichString__ExpressionsAssignment_1_2_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralInbetweenParserRuleCall_1_2_0_0()); }
+ ruleRichStringLiteralInbetween{ after(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralInbetweenParserRuleCall_1_2_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichString__ExpressionsAssignment_1_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringAccess().getExpressionsRichVarPartParserRuleCall_1_2_1_0()); }
+ ruleRichVarPart{ after(grammarAccess.getRichStringAccess().getExpressionsRichVarPartParserRuleCall_1_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichString__ExpressionsAssignment_1_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralEndParserRuleCall_1_3_0()); }
+ ruleRichStringLiteralEnd{ after(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralEndParserRuleCall_1_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichStringLiteral__ValueAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringLiteralAccess().getValueRICH_TEXTTerminalRuleCall_0()); }
+ RULE_RICH_TEXT{ after(grammarAccess.getRichStringLiteralAccess().getValueRICH_TEXTTerminalRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichStringLiteralStart__ValueAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringLiteralStartAccess().getValueRICH_TEXT_STARTTerminalRuleCall_0()); }
+ RULE_RICH_TEXT_START{ after(grammarAccess.getRichStringLiteralStartAccess().getValueRICH_TEXT_STARTTerminalRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichStringLiteralEnd__ValueAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringLiteralEndAccess().getValueRICH_TEXT_ENDTerminalRuleCall_0()); }
+ RULE_RICH_TEXT_END{ after(grammarAccess.getRichStringLiteralEndAccess().getValueRICH_TEXT_ENDTerminalRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichStringLiteralInbetween__ValueAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichStringLiteralInbetweenAccess().getValueRICH_TEXT_INBETWEENTerminalRuleCall_0()); }
+ RULE_RICH_TEXT_INBETWEEN{ after(grammarAccess.getRichStringLiteralInbetweenAccess().getValueRICH_TEXT_INBETWEENTerminalRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichVarPart__KeyAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichVarPartAccess().getKeyIDTerminalRuleCall_0_0()); }
+ RULE_ID{ after(grammarAccess.getRichVarPartAccess().getKeyIDTerminalRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichVarPart__FormatAssignment_1_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichVarPartAccess().getFormatSTRINGTerminalRuleCall_1_0_0()); }
+ RULE_STRING{ after(grammarAccess.getRichVarPartAccess().getFormatSTRINGTerminalRuleCall_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RichVarPart__FormatterClassAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRichVarPartAccess().getFormatterClassNLSFormatterCrossReference_1_1_0()); }
+(
+{ before(grammarAccess.getRichVarPartAccess().getFormatterClassNLSFormatterQualifiedNameParserRuleCall_1_1_0_1()); }
+ ruleQualifiedName{ after(grammarAccess.getRichVarPartAccess().getFormatterClassNLSFormatterQualifiedNameParserRuleCall_1_1_0_1()); }
+)
+{ after(grammarAccess.getRichVarPartAccess().getFormatterClassNLSFormatterCrossReference_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+RULE_RICH_TEXT : '\'\'\'' RULE_IN_RICH_STRING* ('\'\'\''|('\'' '\''?)? EOF);
+
+RULE_RICH_TEXT_START : '\'\'\'' RULE_IN_RICH_STRING* ('\'' '\''?)? '\u00AB';
+
+RULE_RICH_TEXT_END : '\u00BB' RULE_IN_RICH_STRING* ('\'\'\''|('\'' '\''?)? EOF);
+
+RULE_RICH_TEXT_INBETWEEN : '\u00BB' RULE_IN_RICH_STRING* ('\'' '\''?)? '\u00AB';
+
+fragment RULE_IN_RICH_STRING : ('\'\'' ~(('\u00AB'|'\''))|'\'' ~(('\u00AB'|'\''))|~(('\u00AB'|'\'')));
+
+RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
+
+RULE_INT : ('0'..'9')+;
+
+RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+RULE_ANY_OTHER : .;
+
+
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.tokens b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.tokens
new file mode 100644
index 000000000..c5a7a4fa3
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.tokens
@@ -0,0 +1,44 @@
+'('=26
+')'=27
+','=28
+'.'=31
+':'=25
+'ANY'=16
+'DATE'=18
+'NUMBER'=17
+'['=29
+']'=30
+'bundle'=22
+'default'=23
+'formatter'=24
+'package'=21
+'{'=19
+'}'=20
+RULE_ANY_OTHER=15
+RULE_ID=4
+RULE_INT=11
+RULE_IN_RICH_STRING=10
+RULE_ML_COMMENT=12
+RULE_RICH_TEXT=5
+RULE_RICH_TEXT_END=7
+RULE_RICH_TEXT_INBETWEEN=8
+RULE_RICH_TEXT_START=6
+RULE_SL_COMMENT=13
+RULE_STRING=9
+RULE_WS=14
+T__16=16
+T__17=17
+T__18=18
+T__19=19
+T__20=20
+T__21=21
+T__22=22
+T__23=23
+T__24=24
+T__25=25
+T__26=26
+T__27=27
+T__28=28
+T__29=29
+T__30=30
+T__31=31
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDslLexer.java b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDslLexer.java
new file mode 100644
index 000000000..28e021a27
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDslLexer.java
@@ -0,0 +1,2061 @@
+package org.eclipse.fx.ide.l10n.ui.contentassist.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalNLSDslLexer extends Lexer {
+ public static final int RULE_STRING=9;
+ public static final int RULE_SL_COMMENT=13;
+ public static final int T__19=19;
+ public static final int RULE_IN_RICH_STRING=10;
+ 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 EOF=-1;
+ public static final int T__30=30;
+ public static final int T__31=31;
+ public static final int RULE_RICH_TEXT=5;
+ public static final int RULE_ID=4;
+ public static final int RULE_WS=14;
+ public static final int RULE_RICH_TEXT_END=7;
+ public static final int RULE_RICH_TEXT_START=6;
+ public static final int RULE_ANY_OTHER=15;
+ public static final int RULE_RICH_TEXT_INBETWEEN=8;
+ 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=11;
+ public static final int T__29=29;
+ public static final int T__22=22;
+ public static final int RULE_ML_COMMENT=12;
+ 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;
+
+ // delegates
+ // delegators
+
+ public InternalNLSDslLexer() {;}
+ public InternalNLSDslLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalNLSDslLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g"; }
+
+ // $ANTLR start "T__16"
+ public final void mT__16() throws RecognitionException {
+ try {
+ int _type = T__16;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:11:7: ( 'ANY' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:11:9: 'ANY'
+ {
+ match("ANY");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__16"
+
+ // $ANTLR start "T__17"
+ public final void mT__17() throws RecognitionException {
+ try {
+ int _type = T__17;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:12:7: ( 'NUMBER' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:12:9: 'NUMBER'
+ {
+ match("NUMBER");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__17"
+
+ // $ANTLR start "T__18"
+ public final void mT__18() throws RecognitionException {
+ try {
+ int _type = T__18;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:13:7: ( 'DATE' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:13:9: 'DATE'
+ {
+ match("DATE");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__18"
+
+ // $ANTLR start "T__19"
+ public final void mT__19() throws RecognitionException {
+ try {
+ int _type = T__19;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:14:7: ( '{' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:14:9: '{'
+ {
+ match('{');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__19"
+
+ // $ANTLR start "T__20"
+ public final void mT__20() throws RecognitionException {
+ try {
+ int _type = T__20;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:15:7: ( '}' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:15:9: '}'
+ {
+ match('}');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__20"
+
+ // $ANTLR start "T__21"
+ public final void mT__21() throws RecognitionException {
+ try {
+ int _type = T__21;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:16:7: ( 'package' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:16:9: 'package'
+ {
+ match("package");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__21"
+
+ // $ANTLR start "T__22"
+ public final void mT__22() throws RecognitionException {
+ try {
+ int _type = T__22;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:17:7: ( 'bundle' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:17:9: 'bundle'
+ {
+ match("bundle");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__22"
+
+ // $ANTLR start "T__23"
+ public final void mT__23() throws RecognitionException {
+ try {
+ int _type = T__23;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:18:7: ( 'default' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:18:9: 'default'
+ {
+ match("default");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__23"
+
+ // $ANTLR start "T__24"
+ public final void mT__24() throws RecognitionException {
+ try {
+ int _type = T__24;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:19:7: ( 'formatter' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:19:9: 'formatter'
+ {
+ match("formatter");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__24"
+
+ // $ANTLR start "T__25"
+ public final void mT__25() throws RecognitionException {
+ try {
+ int _type = T__25;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:20:7: ( ':' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:20:9: ':'
+ {
+ match(':');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__25"
+
+ // $ANTLR start "T__26"
+ public final void mT__26() throws RecognitionException {
+ try {
+ int _type = T__26;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:21:7: ( '(' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:21:9: '('
+ {
+ match('(');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__26"
+
+ // $ANTLR start "T__27"
+ public final void mT__27() throws RecognitionException {
+ try {
+ int _type = T__27;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:22:7: ( ')' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:22:9: ')'
+ {
+ match(')');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__27"
+
+ // $ANTLR start "T__28"
+ public final void mT__28() throws RecognitionException {
+ try {
+ int _type = T__28;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:23:7: ( ',' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:23:9: ','
+ {
+ match(',');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__28"
+
+ // $ANTLR start "T__29"
+ public final void mT__29() throws RecognitionException {
+ try {
+ int _type = T__29;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:24:7: ( '[' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:24:9: '['
+ {
+ match('[');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__29"
+
+ // $ANTLR start "T__30"
+ public final void mT__30() throws RecognitionException {
+ try {
+ int _type = T__30;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:25:7: ( ']' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:25:9: ']'
+ {
+ match(']');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__30"
+
+ // $ANTLR start "T__31"
+ public final void mT__31() throws RecognitionException {
+ try {
+ int _type = T__31;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:26:7: ( '.' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:26:9: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__31"
+
+ // $ANTLR start "RULE_RICH_TEXT"
+ public final void mRULE_RICH_TEXT() throws RecognitionException {
+ try {
+ int _type = RULE_RICH_TEXT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2806:16: ( '\\'\\'\\'' ( RULE_IN_RICH_STRING )* ( '\\'\\'\\'' | ( '\\'' ( '\\'' )? )? EOF ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2806:18: '\\'\\'\\'' ( RULE_IN_RICH_STRING )* ( '\\'\\'\\'' | ( '\\'' ( '\\'' )? )? EOF )
+ {
+ match("'''");
+
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2806:27: ( RULE_IN_RICH_STRING )*
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0=='\'') ) {
+ int LA1_1 = input.LA(2);
+
+ if ( (LA1_1=='\'') ) {
+ int LA1_4 = input.LA(3);
+
+ if ( ((LA1_4>='\u0000' && LA1_4<='&')||(LA1_4>='(' && LA1_4<='\u00AA')||(LA1_4>='\u00AC' && LA1_4<='\uFFFF')) ) {
+ alt1=1;
+ }
+
+
+ }
+ else if ( ((LA1_1>='\u0000' && LA1_1<='&')||(LA1_1>='(' && LA1_1<='\u00AA')||(LA1_1>='\u00AC' && LA1_1<='\uFFFF')) ) {
+ alt1=1;
+ }
+
+
+ }
+ else if ( ((LA1_0>='\u0000' && LA1_0<='&')||(LA1_0>='(' && LA1_0<='\u00AA')||(LA1_0>='\u00AC' && LA1_0<='\uFFFF')) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2806:27: RULE_IN_RICH_STRING
+ {
+ mRULE_IN_RICH_STRING();
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2806:48: ( '\\'\\'\\'' | ( '\\'' ( '\\'' )? )? EOF )
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0=='\'') ) {
+ int LA4_1 = input.LA(2);
+
+ if ( (LA4_1=='\'') ) {
+ int LA4_3 = input.LA(3);
+
+ if ( (LA4_3=='\'') ) {
+ alt4=1;
+ }
+ else {
+ alt4=2;}
+ }
+ else {
+ alt4=2;}
+ }
+ else {
+ alt4=2;}
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2806:49: '\\'\\'\\''
+ {
+ match("'''");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2806:58: ( '\\'' ( '\\'' )? )? EOF
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2806:58: ( '\\'' ( '\\'' )? )?
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0=='\'') ) {
+ alt3=1;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2806:59: '\\'' ( '\\'' )?
+ {
+ match('\'');
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2806:64: ( '\\'' )?
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0=='\'') ) {
+ alt2=1;
+ }
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2806:64: '\\''
+ {
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ match(EOF);
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_RICH_TEXT"
+
+ // $ANTLR start "RULE_RICH_TEXT_START"
+ public final void mRULE_RICH_TEXT_START() throws RecognitionException {
+ try {
+ int _type = RULE_RICH_TEXT_START;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2808:22: ( '\\'\\'\\'' ( RULE_IN_RICH_STRING )* ( '\\'' ( '\\'' )? )? '\\u00AB' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2808:24: '\\'\\'\\'' ( RULE_IN_RICH_STRING )* ( '\\'' ( '\\'' )? )? '\\u00AB'
+ {
+ match("'''");
+
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2808:33: ( RULE_IN_RICH_STRING )*
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0=='\'') ) {
+ int LA5_1 = input.LA(2);
+
+ if ( (LA5_1=='\'') ) {
+ int LA5_4 = input.LA(3);
+
+ if ( ((LA5_4>='\u0000' && LA5_4<='&')||(LA5_4>='(' && LA5_4<='\u00AA')||(LA5_4>='\u00AC' && LA5_4<='\uFFFF')) ) {
+ alt5=1;
+ }
+
+
+ }
+ else if ( ((LA5_1>='\u0000' && LA5_1<='&')||(LA5_1>='(' && LA5_1<='\u00AA')||(LA5_1>='\u00AC' && LA5_1<='\uFFFF')) ) {
+ alt5=1;
+ }
+
+
+ }
+ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='\u00AA')||(LA5_0>='\u00AC' && LA5_0<='\uFFFF')) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2808:33: RULE_IN_RICH_STRING
+ {
+ mRULE_IN_RICH_STRING();
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2808:54: ( '\\'' ( '\\'' )? )?
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0=='\'') ) {
+ alt7=1;
+ }
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2808:55: '\\'' ( '\\'' )?
+ {
+ match('\'');
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2808:60: ( '\\'' )?
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='\'') ) {
+ alt6=1;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2808:60: '\\''
+ {
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ match('\u00AB');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_RICH_TEXT_START"
+
+ // $ANTLR start "RULE_RICH_TEXT_END"
+ public final void mRULE_RICH_TEXT_END() throws RecognitionException {
+ try {
+ int _type = RULE_RICH_TEXT_END;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2810:20: ( '\\u00BB' ( RULE_IN_RICH_STRING )* ( '\\'\\'\\'' | ( '\\'' ( '\\'' )? )? EOF ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2810:22: '\\u00BB' ( RULE_IN_RICH_STRING )* ( '\\'\\'\\'' | ( '\\'' ( '\\'' )? )? EOF )
+ {
+ match('\u00BB');
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2810:31: ( RULE_IN_RICH_STRING )*
+ loop8:
+ do {
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0=='\'') ) {
+ int LA8_1 = input.LA(2);
+
+ if ( (LA8_1=='\'') ) {
+ int LA8_4 = input.LA(3);
+
+ if ( ((LA8_4>='\u0000' && LA8_4<='&')||(LA8_4>='(' && LA8_4<='\u00AA')||(LA8_4>='\u00AC' && LA8_4<='\uFFFF')) ) {
+ alt8=1;
+ }
+
+
+ }
+ else if ( ((LA8_1>='\u0000' && LA8_1<='&')||(LA8_1>='(' && LA8_1<='\u00AA')||(LA8_1>='\u00AC' && LA8_1<='\uFFFF')) ) {
+ alt8=1;
+ }
+
+
+ }
+ else if ( ((LA8_0>='\u0000' && LA8_0<='&')||(LA8_0>='(' && LA8_0<='\u00AA')||(LA8_0>='\u00AC' && LA8_0<='\uFFFF')) ) {
+ alt8=1;
+ }
+
+
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2810:31: RULE_IN_RICH_STRING
+ {
+ mRULE_IN_RICH_STRING();
+
+ }
+ break;
+
+ default :
+ break loop8;
+ }
+ } while (true);
+
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2810:52: ( '\\'\\'\\'' | ( '\\'' ( '\\'' )? )? EOF )
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0=='\'') ) {
+ int LA11_1 = input.LA(2);
+
+ if ( (LA11_1=='\'') ) {
+ int LA11_3 = input.LA(3);
+
+ if ( (LA11_3=='\'') ) {
+ alt11=1;
+ }
+ else {
+ alt11=2;}
+ }
+ else {
+ alt11=2;}
+ }
+ else {
+ alt11=2;}
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2810:53: '\\'\\'\\''
+ {
+ match("'''");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2810:62: ( '\\'' ( '\\'' )? )? EOF
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2810:62: ( '\\'' ( '\\'' )? )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0=='\'') ) {
+ alt10=1;
+ }
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2810:63: '\\'' ( '\\'' )?
+ {
+ match('\'');
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2810:68: ( '\\'' )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0=='\'') ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2810:68: '\\''
+ {
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ match(EOF);
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_RICH_TEXT_END"
+
+ // $ANTLR start "RULE_RICH_TEXT_INBETWEEN"
+ public final void mRULE_RICH_TEXT_INBETWEEN() throws RecognitionException {
+ try {
+ int _type = RULE_RICH_TEXT_INBETWEEN;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2812:26: ( '\\u00BB' ( RULE_IN_RICH_STRING )* ( '\\'' ( '\\'' )? )? '\\u00AB' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2812:28: '\\u00BB' ( RULE_IN_RICH_STRING )* ( '\\'' ( '\\'' )? )? '\\u00AB'
+ {
+ match('\u00BB');
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2812:37: ( RULE_IN_RICH_STRING )*
+ loop12:
+ do {
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0=='\'') ) {
+ int LA12_1 = input.LA(2);
+
+ if ( (LA12_1=='\'') ) {
+ int LA12_4 = input.LA(3);
+
+ if ( ((LA12_4>='\u0000' && LA12_4<='&')||(LA12_4>='(' && LA12_4<='\u00AA')||(LA12_4>='\u00AC' && LA12_4<='\uFFFF')) ) {
+ alt12=1;
+ }
+
+
+ }
+ else if ( ((LA12_1>='\u0000' && LA12_1<='&')||(LA12_1>='(' && LA12_1<='\u00AA')||(LA12_1>='\u00AC' && LA12_1<='\uFFFF')) ) {
+ alt12=1;
+ }
+
+
+ }
+ else if ( ((LA12_0>='\u0000' && LA12_0<='&')||(LA12_0>='(' && LA12_0<='\u00AA')||(LA12_0>='\u00AC' && LA12_0<='\uFFFF')) ) {
+ alt12=1;
+ }
+
+
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2812:37: RULE_IN_RICH_STRING
+ {
+ mRULE_IN_RICH_STRING();
+
+ }
+ break;
+
+ default :
+ break loop12;
+ }
+ } while (true);
+
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2812:58: ( '\\'' ( '\\'' )? )?
+ int alt14=2;
+ int LA14_0 = input.LA(1);
+
+ if ( (LA14_0=='\'') ) {
+ alt14=1;
+ }
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2812:59: '\\'' ( '\\'' )?
+ {
+ match('\'');
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2812:64: ( '\\'' )?
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0=='\'') ) {
+ alt13=1;
+ }
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2812:64: '\\''
+ {
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ match('\u00AB');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_RICH_TEXT_INBETWEEN"
+
+ // $ANTLR start "RULE_IN_RICH_STRING"
+ public final void mRULE_IN_RICH_STRING() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2814:30: ( ( '\\'\\'' ~ ( ( '\\u00AB' | '\\'' ) ) | '\\'' ~ ( ( '\\u00AB' | '\\'' ) ) | ~ ( ( '\\u00AB' | '\\'' ) ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2814:32: ( '\\'\\'' ~ ( ( '\\u00AB' | '\\'' ) ) | '\\'' ~ ( ( '\\u00AB' | '\\'' ) ) | ~ ( ( '\\u00AB' | '\\'' ) ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2814:32: ( '\\'\\'' ~ ( ( '\\u00AB' | '\\'' ) ) | '\\'' ~ ( ( '\\u00AB' | '\\'' ) ) | ~ ( ( '\\u00AB' | '\\'' ) ) )
+ int alt15=3;
+ int LA15_0 = input.LA(1);
+
+ if ( (LA15_0=='\'') ) {
+ int LA15_1 = input.LA(2);
+
+ if ( (LA15_1=='\'') ) {
+ alt15=1;
+ }
+ else if ( ((LA15_1>='\u0000' && LA15_1<='&')||(LA15_1>='(' && LA15_1<='\u00AA')||(LA15_1>='\u00AC' && LA15_1<='\uFFFF')) ) {
+ alt15=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 15, 1, input);
+
+ throw nvae;
+ }
+ }
+ else if ( ((LA15_0>='\u0000' && LA15_0<='&')||(LA15_0>='(' && LA15_0<='\u00AA')||(LA15_0>='\u00AC' && LA15_0<='\uFFFF')) ) {
+ alt15=3;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 15, 0, input);
+
+ throw nvae;
+ }
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2814:33: '\\'\\'' ~ ( ( '\\u00AB' | '\\'' ) )
+ {
+ match("''");
+
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='\u00AA')||(input.LA(1)>='\u00AC' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2814:59: '\\'' ~ ( ( '\\u00AB' | '\\'' ) )
+ {
+ match('\'');
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='\u00AA')||(input.LA(1)>='\u00AC' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2814:83: ~ ( ( '\\u00AB' | '\\'' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='\u00AA')||(input.LA(1)>='\u00AC' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_IN_RICH_STRING"
+
+ // $ANTLR start "RULE_ID"
+ public final void mRULE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2816:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2816:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2816:11: ( '^' )?
+ int alt16=2;
+ int LA16_0 = input.LA(1);
+
+ if ( (LA16_0=='^') ) {
+ alt16=1;
+ }
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2816:11: '^'
+ {
+ match('^');
+
+ }
+ break;
+
+ }
+
+ if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2816:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ loop17:
+ do {
+ int alt17=2;
+ int LA17_0 = input.LA(1);
+
+ if ( ((LA17_0>='0' && LA17_0<='9')||(LA17_0>='A' && LA17_0<='Z')||LA17_0=='_'||(LA17_0>='a' && LA17_0<='z')) ) {
+ alt17=1;
+ }
+
+
+ switch (alt17) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop17;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ID"
+
+ // $ANTLR start "RULE_INT"
+ public final void mRULE_INT() throws RecognitionException {
+ try {
+ int _type = RULE_INT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2818:10: ( ( '0' .. '9' )+ )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2818:12: ( '0' .. '9' )+
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2818:12: ( '0' .. '9' )+
+ int cnt18=0;
+ loop18:
+ do {
+ int alt18=2;
+ int LA18_0 = input.LA(1);
+
+ if ( ((LA18_0>='0' && LA18_0<='9')) ) {
+ alt18=1;
+ }
+
+
+ switch (alt18) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2818:13: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt18 >= 1 ) break loop18;
+ EarlyExitException eee =
+ new EarlyExitException(18, input);
+ throw eee;
+ }
+ cnt18++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_INT"
+
+ // $ANTLR start "RULE_STRING"
+ public final void mRULE_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2820:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2820:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2820:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ int alt21=2;
+ int LA21_0 = input.LA(1);
+
+ if ( (LA21_0=='\"') ) {
+ alt21=1;
+ }
+ else if ( (LA21_0=='\'') ) {
+ alt21=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 21, 0, input);
+
+ throw nvae;
+ }
+ switch (alt21) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2820:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ {
+ match('\"');
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2820:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop19:
+ do {
+ int alt19=3;
+ int LA19_0 = input.LA(1);
+
+ if ( (LA19_0=='\\') ) {
+ alt19=1;
+ }
+ else if ( ((LA19_0>='\u0000' && LA19_0<='!')||(LA19_0>='#' && LA19_0<='[')||(LA19_0>=']' && LA19_0<='\uFFFF')) ) {
+ alt19=2;
+ }
+
+
+ switch (alt19) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2820:21: '\\\\' .
+ {
+ match('\\');
+ matchAny();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2820:28: ~ ( ( '\\\\' | '\"' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop19;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2820:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ {
+ match('\'');
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2820:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop20:
+ do {
+ int alt20=3;
+ int LA20_0 = input.LA(1);
+
+ if ( (LA20_0=='\\') ) {
+ alt20=1;
+ }
+ else if ( ((LA20_0>='\u0000' && LA20_0<='&')||(LA20_0>='(' && LA20_0<='[')||(LA20_0>=']' && LA20_0<='\uFFFF')) ) {
+ alt20=2;
+ }
+
+
+ switch (alt20) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2820:54: '\\\\' .
+ {
+ match('\\');
+ matchAny();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2820:61: ~ ( ( '\\\\' | '\\'' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop20;
+ }
+ } while (true);
+
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_STRING"
+
+ // $ANTLR start "RULE_ML_COMMENT"
+ public final void mRULE_ML_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_ML_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2822:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2822:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2822:24: ( options {greedy=false; } : . )*
+ loop22:
+ do {
+ int alt22=2;
+ int LA22_0 = input.LA(1);
+
+ if ( (LA22_0=='*') ) {
+ int LA22_1 = input.LA(2);
+
+ if ( (LA22_1=='/') ) {
+ alt22=2;
+ }
+ else if ( ((LA22_1>='\u0000' && LA22_1<='.')||(LA22_1>='0' && LA22_1<='\uFFFF')) ) {
+ alt22=1;
+ }
+
+
+ }
+ else if ( ((LA22_0>='\u0000' && LA22_0<=')')||(LA22_0>='+' && LA22_0<='\uFFFF')) ) {
+ alt22=1;
+ }
+
+
+ switch (alt22) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2822:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop22;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_COMMENT"
+
+ // $ANTLR start "RULE_SL_COMMENT"
+ public final void mRULE_SL_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_SL_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2824:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2824:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("//");
+
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2824:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop23:
+ do {
+ int alt23=2;
+ int LA23_0 = input.LA(1);
+
+ if ( ((LA23_0>='\u0000' && LA23_0<='\t')||(LA23_0>='\u000B' && LA23_0<='\f')||(LA23_0>='\u000E' && LA23_0<='\uFFFF')) ) {
+ alt23=1;
+ }
+
+
+ switch (alt23) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2824:24: ~ ( ( '\\n' | '\\r' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop23;
+ }
+ } while (true);
+
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2824:40: ( ( '\\r' )? '\\n' )?
+ int alt25=2;
+ int LA25_0 = input.LA(1);
+
+ if ( (LA25_0=='\n'||LA25_0=='\r') ) {
+ alt25=1;
+ }
+ switch (alt25) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2824:41: ( '\\r' )? '\\n'
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2824:41: ( '\\r' )?
+ int alt24=2;
+ int LA24_0 = input.LA(1);
+
+ if ( (LA24_0=='\r') ) {
+ alt24=1;
+ }
+ switch (alt24) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2824:41: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SL_COMMENT"
+
+ // $ANTLR start "RULE_WS"
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2826:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2826:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2826:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt26=0;
+ loop26:
+ do {
+ int alt26=2;
+ int LA26_0 = input.LA(1);
+
+ if ( ((LA26_0>='\t' && LA26_0<='\n')||LA26_0=='\r'||LA26_0==' ') ) {
+ alt26=1;
+ }
+
+
+ switch (alt26) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.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 ( cnt26 >= 1 ) break loop26;
+ EarlyExitException eee =
+ new EarlyExitException(26, input);
+ throw eee;
+ }
+ cnt26++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_WS"
+
+ // $ANTLR start "RULE_ANY_OTHER"
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2828:16: ( . )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2828:18: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANY_OTHER"
+
+ public void mTokens() throws RecognitionException {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:8: ( 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 | RULE_RICH_TEXT | RULE_RICH_TEXT_START | RULE_RICH_TEXT_END | RULE_RICH_TEXT_INBETWEEN | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt27=27;
+ alt27 = dfa27.predict(input);
+ switch (alt27) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:10: T__16
+ {
+ mT__16();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:16: T__17
+ {
+ mT__17();
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:22: T__18
+ {
+ mT__18();
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:28: T__19
+ {
+ mT__19();
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:34: T__20
+ {
+ mT__20();
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:40: T__21
+ {
+ mT__21();
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:46: T__22
+ {
+ mT__22();
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:52: T__23
+ {
+ mT__23();
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:58: T__24
+ {
+ mT__24();
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:64: T__25
+ {
+ mT__25();
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:70: T__26
+ {
+ mT__26();
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:76: T__27
+ {
+ mT__27();
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:82: T__28
+ {
+ mT__28();
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:88: T__29
+ {
+ mT__29();
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:94: T__30
+ {
+ mT__30();
+
+ }
+ break;
+ case 16 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:100: T__31
+ {
+ mT__31();
+
+ }
+ break;
+ case 17 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:106: RULE_RICH_TEXT
+ {
+ mRULE_RICH_TEXT();
+
+ }
+ break;
+ case 18 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:121: RULE_RICH_TEXT_START
+ {
+ mRULE_RICH_TEXT_START();
+
+ }
+ break;
+ case 19 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:142: RULE_RICH_TEXT_END
+ {
+ mRULE_RICH_TEXT_END();
+
+ }
+ break;
+ case 20 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:161: RULE_RICH_TEXT_INBETWEEN
+ {
+ mRULE_RICH_TEXT_INBETWEEN();
+
+ }
+ break;
+ case 21 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:186: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 22 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:194: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 23 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:203: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 24 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:215: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 25 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:231: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 26 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:247: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 27 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1:255: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA27 dfa27 = new DFA27(this);
+ static final String DFA27_eotS =
+ "\1\uffff\3\33\2\uffff\4\33\7\uffff\1\31\1\57\1\31\2\uffff\2\31\2\uffff\1\33\1\uffff\2\33\2\uffff\4\33\7\uffff\1\54\1\uffff\2\57\6\uffff\1\77\6\33\1\111\2\57\1\uffff\1\33\1\114\4\33\2\111\2\uffff\1\57\1\33\1\uffff\4\33\2\111\1\131\1\33\1\133\2\33\1\111\1\uffff\1\136\1\uffff\1\137\1\33\2\uffff\1\33\1\142\1\uffff";
+ static final String DFA27_eofS =
+ "\143\uffff";
+ static final String DFA27_minS =
+ "\1\0\1\116\1\125\1\101\2\uffff\1\141\1\165\1\145\1\157\7\uffff\2\0\1\101\2\uffff\1\0\1\52\2\uffff\1\131\1\uffff\1\115\1\124\2\uffff\1\143\1\156\1\146\1\162\7\uffff\1\47\1\uffff\2\0\6\uffff\1\60\1\102\1\105\1\153\1\144\1\141\1\155\3\0\1\uffff\1\105\1\60\1\141\1\154\1\165\1\141\2\0\2\uffff\1\0\1\122\1\uffff\1\147\1\145\1\154\1\164\2\0\1\60\1\145\1\60\2\164\1\0\1\uffff\1\60\1\uffff\1\60\1\145\2\uffff\1\162\1\60\1\uffff";
+ static final String DFA27_maxS =
+ "\1\uffff\1\116\1\125\1\101\2\uffff\1\141\1\165\1\145\1\157\7\uffff\2\uffff\1\172\2\uffff\1\uffff\1\57\2\uffff\1\131\1\uffff\1\115\1\124\2\uffff\1\143\1\156\1\146\1\162\7\uffff\1\47\1\uffff\2\uffff\6\uffff\1\172\1\102\1\105\1\153\1\144\1\141\1\155\3\uffff\1\uffff\1\105\1\172\1\141\1\154\1\165\1\141\2\uffff\2\uffff\1\uffff\1\122\1\uffff\1\147\1\145\1\154\1\164\2\uffff\1\172\1\145\1\172\2\164\1\uffff\1\uffff\1\172\1\uffff\1\172\1\145\2\uffff\1\162\1\172\1\uffff";
+ static final String DFA27_acceptS =
+ "\4\uffff\1\4\1\5\4\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\20\3\uffff\1\25\1\26\2\uffff\1\32\1\33\1\uffff\1\25\2\uffff\1\4\1\5\4\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\uffff\1\27\2\uffff\1\23\1\24\1\26\1\30\1\31\1\32\12\uffff\1\1\10\uffff\1\22\1\21\2\uffff\1\3\14\uffff\1\2\1\uffff\1\7\2\uffff\1\6\1\10\2\uffff\1\11";
+ static final String DFA27_specialS =
+ "\1\1\20\uffff\1\15\1\2\3\uffff\1\16\26\uffff\1\0\1\13\15\uffff\1\7\1\4\1\12\7\uffff\1\3\1\10\2\uffff\1\11\6\uffff\1\14\1\6\5\uffff\1\5\12\uffff}>";
+ static final String[] DFA27_transitionS = {
+ "\11\31\2\30\2\31\1\30\22\31\1\30\1\31\1\26\4\31\1\21\1\13\1\14\2\31\1\15\1\31\1\20\1\27\12\25\1\12\6\31\1\1\2\24\1\3\11\24\1\2\14\24\1\16\1\31\1\17\1\23\1\24\1\31\1\24\1\7\1\24\1\10\1\24\1\11\11\24\1\6\12\24\1\4\1\31\1\5\75\31\1\22\uff44\31",
+ "\1\32",
+ "\1\34",
+ "\1\35",
+ "",
+ "",
+ "\1\40",
+ "\1\41",
+ "\1\42",
+ "\1\43",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\47\54\1\53\uffd8\54",
+ "\47\56\1\55\u0083\56\1\60\uff54\56",
+ "\32\33\4\uffff\1\33\1\uffff\32\33",
+ "",
+ "",
+ "\0\54",
+ "\1\62\4\uffff\1\63",
+ "",
+ "",
+ "\1\65",
+ "",
+ "\1\66",
+ "\1\67",
+ "",
+ "",
+ "\1\70",
+ "\1\71",
+ "\1\72",
+ "\1\73",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\74",
+ "",
+ "\47\76\1\75\u0083\76\1\60\uff54\76",
+ "\47\56\1\55\u0083\56\1\60\uff54\56",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33",
+ "\1\100",
+ "\1\101",
+ "\1\102",
+ "\1\103",
+ "\1\104",
+ "\1\105",
+ "\47\107\1\106\u0083\107\1\110\uff54\107",
+ "\47\112\1\uffff\u0083\112\1\60\uff54\112",
+ "\47\56\1\55\u0083\56\1\60\uff54\56",
+ "",
+ "\1\113",
+ "\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33",
+ "\1\115",
+ "\1\116",
+ "\1\117",
+ "\1\120",
+ "\47\122\1\121\u0083\122\1\110\uff54\122",
+ "\47\107\1\106\u0083\107\1\110\uff54\107",
+ "",
+ "",
+ "\47\56\1\55\u0083\56\1\60\uff54\56",
+ "\1\123",
+ "",
+ "\1\124",
+ "\1\125",
+ "\1\126",
+ "\1\127",
+ "\47\130\1\uffff\u0083\130\1\110\uff54\130",
+ "\47\107\1\106\u0083\107\1\110\uff54\107",
+ "\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33",
+ "\1\132",
+ "\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33",
+ "\1\134",
+ "\1\135",
+ "\47\107\1\106\u0083\107\1\110\uff54\107",
+ "",
+ "\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33",
+ "",
+ "\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33",
+ "\1\140",
+ "",
+ "",
+ "\1\141",
+ "\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33",
+ ""
+ };
+
+ static final short[] DFA27_eot = DFA.unpackEncodedString(DFA27_eotS);
+ static final short[] DFA27_eof = DFA.unpackEncodedString(DFA27_eofS);
+ static final char[] DFA27_min = DFA.unpackEncodedStringToUnsignedChars(DFA27_minS);
+ static final char[] DFA27_max = DFA.unpackEncodedStringToUnsignedChars(DFA27_maxS);
+ static final short[] DFA27_accept = DFA.unpackEncodedString(DFA27_acceptS);
+ static final short[] DFA27_special = DFA.unpackEncodedString(DFA27_specialS);
+ static final short[][] DFA27_transition;
+
+ static {
+ int numStates = DFA27_transitionS.length;
+ DFA27_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA27_transition[i] = DFA.unpackEncodedString(DFA27_transitionS[i]);
+ }
+ }
+
+ class DFA27 extends DFA {
+
+ public DFA27(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 27;
+ this.eot = DFA27_eot;
+ this.eof = DFA27_eof;
+ this.min = DFA27_min;
+ this.max = DFA27_max;
+ this.accept = DFA27_accept;
+ this.special = DFA27_special;
+ this.transition = DFA27_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( 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 | RULE_RICH_TEXT | RULE_RICH_TEXT_START | RULE_RICH_TEXT_END | RULE_RICH_TEXT_INBETWEEN | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ IntStream input = _input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA27_45 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_45=='\'') ) {s = 61;}
+
+ else if ( ((LA27_45>='\u0000' && LA27_45<='&')||(LA27_45>='(' && LA27_45<='\u00AA')||(LA27_45>='\u00AC' && LA27_45<='\uFFFF')) ) {s = 62;}
+
+ else if ( (LA27_45=='\u00AB') ) {s = 48;}
+
+ else s = 47;
+
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA27_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_0=='A') ) {s = 1;}
+
+ else if ( (LA27_0=='N') ) {s = 2;}
+
+ else if ( (LA27_0=='D') ) {s = 3;}
+
+ else if ( (LA27_0=='{') ) {s = 4;}
+
+ else if ( (LA27_0=='}') ) {s = 5;}
+
+ else if ( (LA27_0=='p') ) {s = 6;}
+
+ else if ( (LA27_0=='b') ) {s = 7;}
+
+ else if ( (LA27_0=='d') ) {s = 8;}
+
+ else if ( (LA27_0=='f') ) {s = 9;}
+
+ else if ( (LA27_0==':') ) {s = 10;}
+
+ else if ( (LA27_0=='(') ) {s = 11;}
+
+ else if ( (LA27_0==')') ) {s = 12;}
+
+ else if ( (LA27_0==',') ) {s = 13;}
+
+ else if ( (LA27_0=='[') ) {s = 14;}
+
+ else if ( (LA27_0==']') ) {s = 15;}
+
+ else if ( (LA27_0=='.') ) {s = 16;}
+
+ else if ( (LA27_0=='\'') ) {s = 17;}
+
+ else if ( (LA27_0=='\u00BB') ) {s = 18;}
+
+ else if ( (LA27_0=='^') ) {s = 19;}
+
+ else if ( ((LA27_0>='B' && LA27_0<='C')||(LA27_0>='E' && LA27_0<='M')||(LA27_0>='O' && LA27_0<='Z')||LA27_0=='_'||LA27_0=='a'||LA27_0=='c'||LA27_0=='e'||(LA27_0>='g' && LA27_0<='o')||(LA27_0>='q' && LA27_0<='z')) ) {s = 20;}
+
+ else if ( ((LA27_0>='0' && LA27_0<='9')) ) {s = 21;}
+
+ else if ( (LA27_0=='\"') ) {s = 22;}
+
+ else if ( (LA27_0=='/') ) {s = 23;}
+
+ else if ( ((LA27_0>='\t' && LA27_0<='\n')||LA27_0=='\r'||LA27_0==' ') ) {s = 24;}
+
+ else if ( ((LA27_0>='\u0000' && LA27_0<='\b')||(LA27_0>='\u000B' && LA27_0<='\f')||(LA27_0>='\u000E' && LA27_0<='\u001F')||LA27_0=='!'||(LA27_0>='#' && LA27_0<='&')||(LA27_0>='*' && LA27_0<='+')||LA27_0=='-'||(LA27_0>=';' && LA27_0<='@')||LA27_0=='\\'||LA27_0=='`'||LA27_0=='|'||(LA27_0>='~' && LA27_0<='\u00BA')||(LA27_0>='\u00BC' && LA27_0<='\uFFFF')) ) {s = 25;}
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA27_18 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_18=='\'') ) {s = 45;}
+
+ else if ( ((LA27_18>='\u0000' && LA27_18<='&')||(LA27_18>='(' && LA27_18<='\u00AA')||(LA27_18>='\u00AC' && LA27_18<='\uFFFF')) ) {s = 46;}
+
+ else if ( (LA27_18=='\u00AB') ) {s = 48;}
+
+ else s = 47;
+
+ if ( s>=0 ) return s;
+ break;
+ case 3 :
+ int LA27_70 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_70=='\'') ) {s = 81;}
+
+ else if ( ((LA27_70>='\u0000' && LA27_70<='&')||(LA27_70>='(' && LA27_70<='\u00AA')||(LA27_70>='\u00AC' && LA27_70<='\uFFFF')) ) {s = 82;}
+
+ else if ( (LA27_70=='\u00AB') ) {s = 72;}
+
+ else s = 73;
+
+ if ( s>=0 ) return s;
+ break;
+ case 4 :
+ int LA27_61 = input.LA(1);
+
+ s = -1;
+ if ( ((LA27_61>='\u0000' && LA27_61<='&')||(LA27_61>='(' && LA27_61<='\u00AA')||(LA27_61>='\u00AC' && LA27_61<='\uFFFF')) ) {s = 74;}
+
+ else if ( (LA27_61=='\u00AB') ) {s = 48;}
+
+ else s = 47;
+
+ if ( s>=0 ) return s;
+ break;
+ case 5 :
+ int LA27_88 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_88=='\'') ) {s = 70;}
+
+ else if ( (LA27_88=='\u00AB') ) {s = 72;}
+
+ else if ( ((LA27_88>='\u0000' && LA27_88<='&')||(LA27_88>='(' && LA27_88<='\u00AA')||(LA27_88>='\u00AC' && LA27_88<='\uFFFF')) ) {s = 71;}
+
+ else s = 73;
+
+ if ( s>=0 ) return s;
+ break;
+ case 6 :
+ int LA27_82 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_82=='\'') ) {s = 70;}
+
+ else if ( (LA27_82=='\u00AB') ) {s = 72;}
+
+ else if ( ((LA27_82>='\u0000' && LA27_82<='&')||(LA27_82>='(' && LA27_82<='\u00AA')||(LA27_82>='\u00AC' && LA27_82<='\uFFFF')) ) {s = 71;}
+
+ else s = 73;
+
+ if ( s>=0 ) return s;
+ break;
+ case 7 :
+ int LA27_60 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_60=='\'') ) {s = 70;}
+
+ else if ( ((LA27_60>='\u0000' && LA27_60<='&')||(LA27_60>='(' && LA27_60<='\u00AA')||(LA27_60>='\u00AC' && LA27_60<='\uFFFF')) ) {s = 71;}
+
+ else if ( (LA27_60=='\u00AB') ) {s = 72;}
+
+ else s = 73;
+
+ if ( s>=0 ) return s;
+ break;
+ case 8 :
+ int LA27_71 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_71=='\'') ) {s = 70;}
+
+ else if ( ((LA27_71>='\u0000' && LA27_71<='&')||(LA27_71>='(' && LA27_71<='\u00AA')||(LA27_71>='\u00AC' && LA27_71<='\uFFFF')) ) {s = 71;}
+
+ else if ( (LA27_71=='\u00AB') ) {s = 72;}
+
+ else s = 73;
+
+ if ( s>=0 ) return s;
+ break;
+ case 9 :
+ int LA27_74 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_74=='\'') ) {s = 45;}
+
+ else if ( (LA27_74=='\u00AB') ) {s = 48;}
+
+ else if ( ((LA27_74>='\u0000' && LA27_74<='&')||(LA27_74>='(' && LA27_74<='\u00AA')||(LA27_74>='\u00AC' && LA27_74<='\uFFFF')) ) {s = 46;}
+
+ else s = 47;
+
+ if ( s>=0 ) return s;
+ break;
+ case 10 :
+ int LA27_62 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_62=='\'') ) {s = 45;}
+
+ else if ( ((LA27_62>='\u0000' && LA27_62<='&')||(LA27_62>='(' && LA27_62<='\u00AA')||(LA27_62>='\u00AC' && LA27_62<='\uFFFF')) ) {s = 46;}
+
+ else if ( (LA27_62=='\u00AB') ) {s = 48;}
+
+ else s = 47;
+
+ if ( s>=0 ) return s;
+ break;
+ case 11 :
+ int LA27_46 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_46=='\'') ) {s = 45;}
+
+ else if ( (LA27_46=='\u00AB') ) {s = 48;}
+
+ else if ( ((LA27_46>='\u0000' && LA27_46<='&')||(LA27_46>='(' && LA27_46<='\u00AA')||(LA27_46>='\u00AC' && LA27_46<='\uFFFF')) ) {s = 46;}
+
+ else s = 47;
+
+ if ( s>=0 ) return s;
+ break;
+ case 12 :
+ int LA27_81 = input.LA(1);
+
+ s = -1;
+ if ( ((LA27_81>='\u0000' && LA27_81<='&')||(LA27_81>='(' && LA27_81<='\u00AA')||(LA27_81>='\u00AC' && LA27_81<='\uFFFF')) ) {s = 88;}
+
+ else if ( (LA27_81=='\u00AB') ) {s = 72;}
+
+ else s = 73;
+
+ if ( s>=0 ) return s;
+ break;
+ case 13 :
+ int LA27_17 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_17=='\'') ) {s = 43;}
+
+ else if ( ((LA27_17>='\u0000' && LA27_17<='&')||(LA27_17>='(' && LA27_17<='\uFFFF')) ) {s = 44;}
+
+ else s = 25;
+
+ if ( s>=0 ) return s;
+ break;
+ case 14 :
+ int LA27_22 = input.LA(1);
+
+ s = -1;
+ if ( ((LA27_22>='\u0000' && LA27_22<='\uFFFF')) ) {s = 44;}
+
+ else s = 25;
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 27, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+} \ No newline at end of file
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDslParser.java b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDslParser.java
new file mode 100644
index 000000000..bd1ed4367
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDslParser.java
@@ -0,0 +1,8251 @@
+package org.eclipse.fx.ide.l10n.ui.contentassist.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
+import org.eclipse.fx.ide.l10n.services.NLSDslGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+@SuppressWarnings("all")
+public class InternalNLSDslParser extends AbstractInternalContentAssistParser {
+ public static final String[] tokenNames = new String[] {
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_RICH_TEXT", "RULE_RICH_TEXT_START", "RULE_RICH_TEXT_END", "RULE_RICH_TEXT_INBETWEEN", "RULE_STRING", "RULE_IN_RICH_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'ANY'", "'NUMBER'", "'DATE'", "'{'", "'}'", "'package'", "'bundle'", "'default'", "'formatter'", "':'", "'('", "')'", "','", "'['", "']'", "'.'"
+ };
+ public static final int RULE_STRING=9;
+ public static final int RULE_SL_COMMENT=13;
+ public static final int T__19=19;
+ public static final int RULE_IN_RICH_STRING=10;
+ 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 EOF=-1;
+ public static final int T__30=30;
+ public static final int T__31=31;
+ public static final int RULE_RICH_TEXT=5;
+ public static final int RULE_ID=4;
+ public static final int RULE_WS=14;
+ public static final int RULE_RICH_TEXT_END=7;
+ public static final int RULE_RICH_TEXT_START=6;
+ public static final int RULE_ANY_OTHER=15;
+ public static final int RULE_RICH_TEXT_INBETWEEN=8;
+ 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=11;
+ public static final int T__29=29;
+ public static final int T__22=22;
+ public static final int RULE_ML_COMMENT=12;
+ 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;
+
+ // delegates
+ // delegators
+
+
+ public InternalNLSDslParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalNLSDslParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return InternalNLSDslParser.tokenNames; }
+ public String getGrammarFileName() { return "../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g"; }
+
+
+
+ private NLSDslGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(NLSDslGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+
+
+
+
+ // $ANTLR start "entryRuleNLS"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:61:1: entryRuleNLS : ruleNLS EOF ;
+ public final void entryRuleNLS() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:62:1: ( ruleNLS EOF )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:63:1: ruleNLS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSRule());
+ }
+ pushFollow(FOLLOW_ruleNLS_in_entryRuleNLS67);
+ ruleNLS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNLS74); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNLS"
+
+
+ // $ANTLR start "ruleNLS"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:70:1: ruleNLS : ( ( rule__NLS__Group__0 ) ) ;
+ public final void ruleNLS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:74:2: ( ( ( rule__NLS__Group__0 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:75:1: ( ( rule__NLS__Group__0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:75:1: ( ( rule__NLS__Group__0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:76:1: ( rule__NLS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSAccess().getGroup());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:77:1: ( rule__NLS__Group__0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:77:2: rule__NLS__Group__0
+ {
+ pushFollow(FOLLOW_rule__NLS__Group__0_in_ruleNLS100);
+ rule__NLS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNLS"
+
+
+ // $ANTLR start "entryRulePackageDeclaration"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:89:1: entryRulePackageDeclaration : rulePackageDeclaration EOF ;
+ public final void entryRulePackageDeclaration() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:90:1: ( rulePackageDeclaration EOF )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:91:1: rulePackageDeclaration EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPackageDeclarationRule());
+ }
+ pushFollow(FOLLOW_rulePackageDeclaration_in_entryRulePackageDeclaration127);
+ rulePackageDeclaration();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPackageDeclarationRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRulePackageDeclaration134); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulePackageDeclaration"
+
+
+ // $ANTLR start "rulePackageDeclaration"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:98:1: rulePackageDeclaration : ( ( rule__PackageDeclaration__Group__0 ) ) ;
+ public final void rulePackageDeclaration() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:102:2: ( ( ( rule__PackageDeclaration__Group__0 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:103:1: ( ( rule__PackageDeclaration__Group__0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:103:1: ( ( rule__PackageDeclaration__Group__0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:104:1: ( rule__PackageDeclaration__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPackageDeclarationAccess().getGroup());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:105:1: ( rule__PackageDeclaration__Group__0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:105:2: rule__PackageDeclaration__Group__0
+ {
+ pushFollow(FOLLOW_rule__PackageDeclaration__Group__0_in_rulePackageDeclaration160);
+ rule__PackageDeclaration__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPackageDeclarationAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulePackageDeclaration"
+
+
+ // $ANTLR start "entryRuleNLSBundle"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:117:1: entryRuleNLSBundle : ruleNLSBundle EOF ;
+ public final void entryRuleNLSBundle() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:118:1: ( ruleNLSBundle EOF )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:119:1: ruleNLSBundle EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSBundleRule());
+ }
+ pushFollow(FOLLOW_ruleNLSBundle_in_entryRuleNLSBundle187);
+ ruleNLSBundle();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSBundleRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNLSBundle194); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNLSBundle"
+
+
+ // $ANTLR start "ruleNLSBundle"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:126:1: ruleNLSBundle : ( ( rule__NLSBundle__Group__0 ) ) ;
+ public final void ruleNLSBundle() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:130:2: ( ( ( rule__NLSBundle__Group__0 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:131:1: ( ( rule__NLSBundle__Group__0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:131:1: ( ( rule__NLSBundle__Group__0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:132:1: ( rule__NLSBundle__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSBundleAccess().getGroup());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:133:1: ( rule__NLSBundle__Group__0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:133:2: rule__NLSBundle__Group__0
+ {
+ pushFollow(FOLLOW_rule__NLSBundle__Group__0_in_ruleNLSBundle220);
+ rule__NLSBundle__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSBundleAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNLSBundle"
+
+
+ // $ANTLR start "entryRuleNLSFormatter"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:145:1: entryRuleNLSFormatter : ruleNLSFormatter EOF ;
+ public final void entryRuleNLSFormatter() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:146:1: ( ruleNLSFormatter EOF )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:147:1: ruleNLSFormatter EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSFormatterRule());
+ }
+ pushFollow(FOLLOW_ruleNLSFormatter_in_entryRuleNLSFormatter247);
+ ruleNLSFormatter();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSFormatterRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNLSFormatter254); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNLSFormatter"
+
+
+ // $ANTLR start "ruleNLSFormatter"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:154:1: ruleNLSFormatter : ( ( rule__NLSFormatter__Group__0 ) ) ;
+ public final void ruleNLSFormatter() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:158:2: ( ( ( rule__NLSFormatter__Group__0 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:159:1: ( ( rule__NLSFormatter__Group__0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:159:1: ( ( rule__NLSFormatter__Group__0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:160:1: ( rule__NLSFormatter__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSFormatterAccess().getGroup());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:161:1: ( rule__NLSFormatter__Group__0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:161:2: rule__NLSFormatter__Group__0
+ {
+ pushFollow(FOLLOW_rule__NLSFormatter__Group__0_in_ruleNLSFormatter280);
+ rule__NLSFormatter__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSFormatterAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNLSFormatter"
+
+
+ // $ANTLR start "entryRuleMessageEntry"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:173:1: entryRuleMessageEntry : ruleMessageEntry EOF ;
+ public final void entryRuleMessageEntry() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:174:1: ( ruleMessageEntry EOF )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:175:1: ruleMessageEntry EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryRule());
+ }
+ pushFollow(FOLLOW_ruleMessageEntry_in_entryRuleMessageEntry307);
+ ruleMessageEntry();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleMessageEntry314); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleMessageEntry"
+
+
+ // $ANTLR start "ruleMessageEntry"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:182:1: ruleMessageEntry : ( ( rule__MessageEntry__Group__0 ) ) ;
+ public final void ruleMessageEntry() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:186:2: ( ( ( rule__MessageEntry__Group__0 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:187:1: ( ( rule__MessageEntry__Group__0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:187:1: ( ( rule__MessageEntry__Group__0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:188:1: ( rule__MessageEntry__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getGroup());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:189:1: ( rule__MessageEntry__Group__0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:189:2: rule__MessageEntry__Group__0
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group__0_in_ruleMessageEntry340);
+ rule__MessageEntry__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleMessageEntry"
+
+
+ // $ANTLR start "entryRuleMessageParam"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:201:1: entryRuleMessageParam : ruleMessageParam EOF ;
+ public final void entryRuleMessageParam() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:202:1: ( ruleMessageParam EOF )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:203:1: ruleMessageParam EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageParamRule());
+ }
+ pushFollow(FOLLOW_ruleMessageParam_in_entryRuleMessageParam367);
+ ruleMessageParam();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageParamRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleMessageParam374); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleMessageParam"
+
+
+ // $ANTLR start "ruleMessageParam"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:210:1: ruleMessageParam : ( ( rule__MessageParam__Group__0 ) ) ;
+ public final void ruleMessageParam() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:214:2: ( ( ( rule__MessageParam__Group__0 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:215:1: ( ( rule__MessageParam__Group__0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:215:1: ( ( rule__MessageParam__Group__0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:216:1: ( rule__MessageParam__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageParamAccess().getGroup());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:217:1: ( rule__MessageParam__Group__0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:217:2: rule__MessageParam__Group__0
+ {
+ pushFollow(FOLLOW_rule__MessageParam__Group__0_in_ruleMessageParam400);
+ rule__MessageParam__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageParamAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleMessageParam"
+
+
+ // $ANTLR start "entryRuleMessage"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:229:1: entryRuleMessage : ruleMessage EOF ;
+ public final void entryRuleMessage() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:230:1: ( ruleMessage EOF )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:231:1: ruleMessage EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageRule());
+ }
+ pushFollow(FOLLOW_ruleMessage_in_entryRuleMessage427);
+ ruleMessage();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleMessage434); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleMessage"
+
+
+ // $ANTLR start "ruleMessage"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:238:1: ruleMessage : ( ( rule__Message__Group__0 ) ) ;
+ public final void ruleMessage() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:242:2: ( ( ( rule__Message__Group__0 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:243:1: ( ( rule__Message__Group__0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:243:1: ( ( rule__Message__Group__0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:244:1: ( rule__Message__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageAccess().getGroup());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:245:1: ( rule__Message__Group__0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:245:2: rule__Message__Group__0
+ {
+ pushFollow(FOLLOW_rule__Message__Group__0_in_ruleMessage460);
+ rule__Message__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleMessage"
+
+
+ // $ANTLR start "entryRuleRichString"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:257:1: entryRuleRichString : ruleRichString EOF ;
+ public final void entryRuleRichString() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:258:1: ( ruleRichString EOF )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:259:1: ruleRichString EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringRule());
+ }
+ pushFollow(FOLLOW_ruleRichString_in_entryRuleRichString487);
+ ruleRichString();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRichString494); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleRichString"
+
+
+ // $ANTLR start "ruleRichString"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:266:1: ruleRichString : ( ( rule__RichString__Alternatives ) ) ;
+ public final void ruleRichString() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:270:2: ( ( ( rule__RichString__Alternatives ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:271:1: ( ( rule__RichString__Alternatives ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:271:1: ( ( rule__RichString__Alternatives ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:272:1: ( rule__RichString__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringAccess().getAlternatives());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:273:1: ( rule__RichString__Alternatives )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:273:2: rule__RichString__Alternatives
+ {
+ pushFollow(FOLLOW_rule__RichString__Alternatives_in_ruleRichString520);
+ rule__RichString__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleRichString"
+
+
+ // $ANTLR start "entryRuleRichStringLiteral"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:285:1: entryRuleRichStringLiteral : ruleRichStringLiteral EOF ;
+ public final void entryRuleRichStringLiteral() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:286:1: ( ruleRichStringLiteral EOF )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:287:1: ruleRichStringLiteral EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringLiteralRule());
+ }
+ pushFollow(FOLLOW_ruleRichStringLiteral_in_entryRuleRichStringLiteral547);
+ ruleRichStringLiteral();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringLiteralRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRichStringLiteral554); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleRichStringLiteral"
+
+
+ // $ANTLR start "ruleRichStringLiteral"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:294:1: ruleRichStringLiteral : ( ( rule__RichStringLiteral__ValueAssignment ) ) ;
+ public final void ruleRichStringLiteral() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:298:2: ( ( ( rule__RichStringLiteral__ValueAssignment ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:299:1: ( ( rule__RichStringLiteral__ValueAssignment ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:299:1: ( ( rule__RichStringLiteral__ValueAssignment ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:300:1: ( rule__RichStringLiteral__ValueAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringLiteralAccess().getValueAssignment());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:301:1: ( rule__RichStringLiteral__ValueAssignment )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:301:2: rule__RichStringLiteral__ValueAssignment
+ {
+ pushFollow(FOLLOW_rule__RichStringLiteral__ValueAssignment_in_ruleRichStringLiteral580);
+ rule__RichStringLiteral__ValueAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringLiteralAccess().getValueAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleRichStringLiteral"
+
+
+ // $ANTLR start "entryRuleRichStringLiteralStart"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:313:1: entryRuleRichStringLiteralStart : ruleRichStringLiteralStart EOF ;
+ public final void entryRuleRichStringLiteralStart() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:314:1: ( ruleRichStringLiteralStart EOF )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:315:1: ruleRichStringLiteralStart EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringLiteralStartRule());
+ }
+ pushFollow(FOLLOW_ruleRichStringLiteralStart_in_entryRuleRichStringLiteralStart607);
+ ruleRichStringLiteralStart();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringLiteralStartRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRichStringLiteralStart614); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleRichStringLiteralStart"
+
+
+ // $ANTLR start "ruleRichStringLiteralStart"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:322:1: ruleRichStringLiteralStart : ( ( rule__RichStringLiteralStart__ValueAssignment ) ) ;
+ public final void ruleRichStringLiteralStart() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:326:2: ( ( ( rule__RichStringLiteralStart__ValueAssignment ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:327:1: ( ( rule__RichStringLiteralStart__ValueAssignment ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:327:1: ( ( rule__RichStringLiteralStart__ValueAssignment ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:328:1: ( rule__RichStringLiteralStart__ValueAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringLiteralStartAccess().getValueAssignment());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:329:1: ( rule__RichStringLiteralStart__ValueAssignment )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:329:2: rule__RichStringLiteralStart__ValueAssignment
+ {
+ pushFollow(FOLLOW_rule__RichStringLiteralStart__ValueAssignment_in_ruleRichStringLiteralStart640);
+ rule__RichStringLiteralStart__ValueAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringLiteralStartAccess().getValueAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleRichStringLiteralStart"
+
+
+ // $ANTLR start "entryRuleRichStringLiteralEnd"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:341:1: entryRuleRichStringLiteralEnd : ruleRichStringLiteralEnd EOF ;
+ public final void entryRuleRichStringLiteralEnd() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:342:1: ( ruleRichStringLiteralEnd EOF )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:343:1: ruleRichStringLiteralEnd EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringLiteralEndRule());
+ }
+ pushFollow(FOLLOW_ruleRichStringLiteralEnd_in_entryRuleRichStringLiteralEnd667);
+ ruleRichStringLiteralEnd();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringLiteralEndRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRichStringLiteralEnd674); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleRichStringLiteralEnd"
+
+
+ // $ANTLR start "ruleRichStringLiteralEnd"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:350:1: ruleRichStringLiteralEnd : ( ( rule__RichStringLiteralEnd__ValueAssignment ) ) ;
+ public final void ruleRichStringLiteralEnd() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:354:2: ( ( ( rule__RichStringLiteralEnd__ValueAssignment ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:355:1: ( ( rule__RichStringLiteralEnd__ValueAssignment ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:355:1: ( ( rule__RichStringLiteralEnd__ValueAssignment ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:356:1: ( rule__RichStringLiteralEnd__ValueAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringLiteralEndAccess().getValueAssignment());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:357:1: ( rule__RichStringLiteralEnd__ValueAssignment )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:357:2: rule__RichStringLiteralEnd__ValueAssignment
+ {
+ pushFollow(FOLLOW_rule__RichStringLiteralEnd__ValueAssignment_in_ruleRichStringLiteralEnd700);
+ rule__RichStringLiteralEnd__ValueAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringLiteralEndAccess().getValueAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleRichStringLiteralEnd"
+
+
+ // $ANTLR start "entryRuleRichStringLiteralInbetween"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:369:1: entryRuleRichStringLiteralInbetween : ruleRichStringLiteralInbetween EOF ;
+ public final void entryRuleRichStringLiteralInbetween() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:370:1: ( ruleRichStringLiteralInbetween EOF )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:371:1: ruleRichStringLiteralInbetween EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringLiteralInbetweenRule());
+ }
+ pushFollow(FOLLOW_ruleRichStringLiteralInbetween_in_entryRuleRichStringLiteralInbetween727);
+ ruleRichStringLiteralInbetween();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringLiteralInbetweenRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRichStringLiteralInbetween734); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleRichStringLiteralInbetween"
+
+
+ // $ANTLR start "ruleRichStringLiteralInbetween"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:378:1: ruleRichStringLiteralInbetween : ( ( rule__RichStringLiteralInbetween__ValueAssignment ) ) ;
+ public final void ruleRichStringLiteralInbetween() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:382:2: ( ( ( rule__RichStringLiteralInbetween__ValueAssignment ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:383:1: ( ( rule__RichStringLiteralInbetween__ValueAssignment ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:383:1: ( ( rule__RichStringLiteralInbetween__ValueAssignment ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:384:1: ( rule__RichStringLiteralInbetween__ValueAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringLiteralInbetweenAccess().getValueAssignment());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:385:1: ( rule__RichStringLiteralInbetween__ValueAssignment )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:385:2: rule__RichStringLiteralInbetween__ValueAssignment
+ {
+ pushFollow(FOLLOW_rule__RichStringLiteralInbetween__ValueAssignment_in_ruleRichStringLiteralInbetween760);
+ rule__RichStringLiteralInbetween__ValueAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringLiteralInbetweenAccess().getValueAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleRichStringLiteralInbetween"
+
+
+ // $ANTLR start "entryRuleRichVarPart"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:397:1: entryRuleRichVarPart : ruleRichVarPart EOF ;
+ public final void entryRuleRichVarPart() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:398:1: ( ruleRichVarPart EOF )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:399:1: ruleRichVarPart EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichVarPartRule());
+ }
+ pushFollow(FOLLOW_ruleRichVarPart_in_entryRuleRichVarPart787);
+ ruleRichVarPart();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichVarPartRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRichVarPart794); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleRichVarPart"
+
+
+ // $ANTLR start "ruleRichVarPart"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:406:1: ruleRichVarPart : ( ( rule__RichVarPart__Group__0 ) ) ;
+ public final void ruleRichVarPart() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:410:2: ( ( ( rule__RichVarPart__Group__0 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:411:1: ( ( rule__RichVarPart__Group__0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:411:1: ( ( rule__RichVarPart__Group__0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:412:1: ( rule__RichVarPart__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichVarPartAccess().getGroup());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:413:1: ( rule__RichVarPart__Group__0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:413:2: rule__RichVarPart__Group__0
+ {
+ pushFollow(FOLLOW_rule__RichVarPart__Group__0_in_ruleRichVarPart820);
+ rule__RichVarPart__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichVarPartAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleRichVarPart"
+
+
+ // $ANTLR start "entryRuleValidID"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:425:1: entryRuleValidID : ruleValidID EOF ;
+ public final void entryRuleValidID() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:426:1: ( ruleValidID EOF )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:427:1: ruleValidID EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getValidIDRule());
+ }
+ pushFollow(FOLLOW_ruleValidID_in_entryRuleValidID847);
+ ruleValidID();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getValidIDRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleValidID854); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleValidID"
+
+
+ // $ANTLR start "ruleValidID"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:434:1: ruleValidID : ( RULE_ID ) ;
+ public final void ruleValidID() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:438:2: ( ( RULE_ID ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:439:1: ( RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:439:1: ( RULE_ID )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:440:1: RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall());
+ }
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleValidID880); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getValidIDAccess().getIDTerminalRuleCall());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleValidID"
+
+
+ // $ANTLR start "entryRuleQualifiedName"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:453:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
+ public final void entryRuleQualifiedName() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:454:1: ( ruleQualifiedName EOF )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:455:1: ruleQualifiedName EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameRule());
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName906);
+ ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQualifiedNameRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedName913); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleQualifiedName"
+
+
+ // $ANTLR start "ruleQualifiedName"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:462:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ;
+ public final void ruleQualifiedName() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:466:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:467:1: ( ( rule__QualifiedName__Group__0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:467:1: ( ( rule__QualifiedName__Group__0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:468:1: ( rule__QualifiedName__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameAccess().getGroup());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:469:1: ( rule__QualifiedName__Group__0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:469:2: rule__QualifiedName__Group__0
+ {
+ pushFollow(FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName939);
+ rule__QualifiedName__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQualifiedNameAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleQualifiedName"
+
+
+ // $ANTLR start "rulePredefinedTypes"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:482:1: rulePredefinedTypes : ( ( rule__PredefinedTypes__Alternatives ) ) ;
+ public final void rulePredefinedTypes() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:486:1: ( ( ( rule__PredefinedTypes__Alternatives ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:487:1: ( ( rule__PredefinedTypes__Alternatives ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:487:1: ( ( rule__PredefinedTypes__Alternatives ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:488:1: ( rule__PredefinedTypes__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPredefinedTypesAccess().getAlternatives());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:489:1: ( rule__PredefinedTypes__Alternatives )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:489:2: rule__PredefinedTypes__Alternatives
+ {
+ pushFollow(FOLLOW_rule__PredefinedTypes__Alternatives_in_rulePredefinedTypes976);
+ rule__PredefinedTypes__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPredefinedTypesAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulePredefinedTypes"
+
+
+ // $ANTLR start "rule__MessageEntry__Alternatives_3"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:500:1: rule__MessageEntry__Alternatives_3 : ( ( ( rule__MessageEntry__Group_3_0__0 ) ) | ( ( rule__MessageEntry__Group_3_1__0 ) ) );
+ public final void rule__MessageEntry__Alternatives_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:504:1: ( ( ( rule__MessageEntry__Group_3_0__0 ) ) | ( ( rule__MessageEntry__Group_3_1__0 ) ) )
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==19) ) {
+ alt1=1;
+ }
+ else if ( (LA1_0==29) ) {
+ alt1=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 1, 0, input);
+
+ throw nvae;
+ }
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:505:1: ( ( rule__MessageEntry__Group_3_0__0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:505:1: ( ( rule__MessageEntry__Group_3_0__0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:506:1: ( rule__MessageEntry__Group_3_0__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getGroup_3_0());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:507:1: ( rule__MessageEntry__Group_3_0__0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:507:2: rule__MessageEntry__Group_3_0__0
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_0__0_in_rule__MessageEntry__Alternatives_31011);
+ rule__MessageEntry__Group_3_0__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getGroup_3_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:511:6: ( ( rule__MessageEntry__Group_3_1__0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:511:6: ( ( rule__MessageEntry__Group_3_1__0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:512:1: ( rule__MessageEntry__Group_3_1__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getGroup_3_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:513:1: ( rule__MessageEntry__Group_3_1__0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:513:2: rule__MessageEntry__Group_3_1__0
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_1__0_in_rule__MessageEntry__Alternatives_31029);
+ rule__MessageEntry__Group_3_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getGroup_3_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Alternatives_3"
+
+
+ // $ANTLR start "rule__RichString__Alternatives"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:522:1: rule__RichString__Alternatives : ( ( ( rule__RichString__ExpressionsAssignment_0 ) ) | ( ( rule__RichString__Group_1__0 ) ) );
+ public final void rule__RichString__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:526:1: ( ( ( rule__RichString__ExpressionsAssignment_0 ) ) | ( ( rule__RichString__Group_1__0 ) ) )
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==RULE_RICH_TEXT) ) {
+ alt2=1;
+ }
+ else if ( (LA2_0==RULE_RICH_TEXT_START) ) {
+ alt2=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 2, 0, input);
+
+ throw nvae;
+ }
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:527:1: ( ( rule__RichString__ExpressionsAssignment_0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:527:1: ( ( rule__RichString__ExpressionsAssignment_0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:528:1: ( rule__RichString__ExpressionsAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringAccess().getExpressionsAssignment_0());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:529:1: ( rule__RichString__ExpressionsAssignment_0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:529:2: rule__RichString__ExpressionsAssignment_0
+ {
+ pushFollow(FOLLOW_rule__RichString__ExpressionsAssignment_0_in_rule__RichString__Alternatives1062);
+ rule__RichString__ExpressionsAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringAccess().getExpressionsAssignment_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:533:6: ( ( rule__RichString__Group_1__0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:533:6: ( ( rule__RichString__Group_1__0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:534:1: ( rule__RichString__Group_1__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringAccess().getGroup_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:535:1: ( rule__RichString__Group_1__0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:535:2: rule__RichString__Group_1__0
+ {
+ pushFollow(FOLLOW_rule__RichString__Group_1__0_in_rule__RichString__Alternatives1080);
+ rule__RichString__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichString__Alternatives"
+
+
+ // $ANTLR start "rule__PredefinedTypes__Alternatives"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:544:1: rule__PredefinedTypes__Alternatives : ( ( ( 'ANY' ) ) | ( ( 'NUMBER' ) ) | ( ( 'DATE' ) ) );
+ public final void rule__PredefinedTypes__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:548:1: ( ( ( 'ANY' ) ) | ( ( 'NUMBER' ) ) | ( ( 'DATE' ) ) )
+ int alt3=3;
+ switch ( input.LA(1) ) {
+ case 16:
+ {
+ alt3=1;
+ }
+ break;
+ case 17:
+ {
+ alt3=2;
+ }
+ break;
+ case 18:
+ {
+ alt3=3;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 3, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:549:1: ( ( 'ANY' ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:549:1: ( ( 'ANY' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:550:1: ( 'ANY' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPredefinedTypesAccess().getANYEnumLiteralDeclaration_0());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:551:1: ( 'ANY' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:551:3: 'ANY'
+ {
+ match(input,16,FOLLOW_16_in_rule__PredefinedTypes__Alternatives1114); if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPredefinedTypesAccess().getANYEnumLiteralDeclaration_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:556:6: ( ( 'NUMBER' ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:556:6: ( ( 'NUMBER' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:557:1: ( 'NUMBER' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPredefinedTypesAccess().getNUMBEREnumLiteralDeclaration_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:558:1: ( 'NUMBER' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:558:3: 'NUMBER'
+ {
+ match(input,17,FOLLOW_17_in_rule__PredefinedTypes__Alternatives1135); if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPredefinedTypesAccess().getNUMBEREnumLiteralDeclaration_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:563:6: ( ( 'DATE' ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:563:6: ( ( 'DATE' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:564:1: ( 'DATE' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPredefinedTypesAccess().getDATEEnumLiteralDeclaration_2());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:565:1: ( 'DATE' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:565:3: 'DATE'
+ {
+ match(input,18,FOLLOW_18_in_rule__PredefinedTypes__Alternatives1156); if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPredefinedTypesAccess().getDATEEnumLiteralDeclaration_2());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PredefinedTypes__Alternatives"
+
+
+ // $ANTLR start "rule__NLS__Group__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:577:1: rule__NLS__Group__0 : rule__NLS__Group__0__Impl rule__NLS__Group__1 ;
+ public final void rule__NLS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:581:1: ( rule__NLS__Group__0__Impl rule__NLS__Group__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:582:2: rule__NLS__Group__0__Impl rule__NLS__Group__1
+ {
+ pushFollow(FOLLOW_rule__NLS__Group__0__Impl_in_rule__NLS__Group__01189);
+ rule__NLS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__NLS__Group__1_in_rule__NLS__Group__01192);
+ rule__NLS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLS__Group__0"
+
+
+ // $ANTLR start "rule__NLS__Group__0__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:589:1: rule__NLS__Group__0__Impl : ( ( rule__NLS__PackageAssignment_0 )? ) ;
+ public final void rule__NLS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:593:1: ( ( ( rule__NLS__PackageAssignment_0 )? ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:594:1: ( ( rule__NLS__PackageAssignment_0 )? )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:594:1: ( ( rule__NLS__PackageAssignment_0 )? )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:595:1: ( rule__NLS__PackageAssignment_0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSAccess().getPackageAssignment_0());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:596:1: ( rule__NLS__PackageAssignment_0 )?
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0==21) ) {
+ alt4=1;
+ }
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:596:2: rule__NLS__PackageAssignment_0
+ {
+ pushFollow(FOLLOW_rule__NLS__PackageAssignment_0_in_rule__NLS__Group__0__Impl1219);
+ rule__NLS__PackageAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSAccess().getPackageAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__NLS__Group__1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:606:1: rule__NLS__Group__1 : rule__NLS__Group__1__Impl rule__NLS__Group__2 ;
+ public final void rule__NLS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:610:1: ( rule__NLS__Group__1__Impl rule__NLS__Group__2 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:611:2: rule__NLS__Group__1__Impl rule__NLS__Group__2
+ {
+ pushFollow(FOLLOW_rule__NLS__Group__1__Impl_in_rule__NLS__Group__11250);
+ rule__NLS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__NLS__Group__2_in_rule__NLS__Group__11253);
+ rule__NLS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLS__Group__1"
+
+
+ // $ANTLR start "rule__NLS__Group__1__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:618:1: rule__NLS__Group__1__Impl : ( '{' ) ;
+ public final void rule__NLS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:622:1: ( ( '{' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:623:1: ( '{' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:623:1: ( '{' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:624:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSAccess().getLeftCurlyBracketKeyword_1());
+ }
+ match(input,19,FOLLOW_19_in_rule__NLS__Group__1__Impl1281); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSAccess().getLeftCurlyBracketKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__NLS__Group__2"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:637:1: rule__NLS__Group__2 : rule__NLS__Group__2__Impl rule__NLS__Group__3 ;
+ public final void rule__NLS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:641:1: ( rule__NLS__Group__2__Impl rule__NLS__Group__3 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:642:2: rule__NLS__Group__2__Impl rule__NLS__Group__3
+ {
+ pushFollow(FOLLOW_rule__NLS__Group__2__Impl_in_rule__NLS__Group__21312);
+ rule__NLS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__NLS__Group__3_in_rule__NLS__Group__21315);
+ rule__NLS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLS__Group__2"
+
+
+ // $ANTLR start "rule__NLS__Group__2__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:649:1: rule__NLS__Group__2__Impl : ( ( ( rule__NLS__BundleListAssignment_2 ) ) ( ( rule__NLS__BundleListAssignment_2 )* ) ) ;
+ public final void rule__NLS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:653:1: ( ( ( ( rule__NLS__BundleListAssignment_2 ) ) ( ( rule__NLS__BundleListAssignment_2 )* ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:654:1: ( ( ( rule__NLS__BundleListAssignment_2 ) ) ( ( rule__NLS__BundleListAssignment_2 )* ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:654:1: ( ( ( rule__NLS__BundleListAssignment_2 ) ) ( ( rule__NLS__BundleListAssignment_2 )* ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:655:1: ( ( rule__NLS__BundleListAssignment_2 ) ) ( ( rule__NLS__BundleListAssignment_2 )* )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:655:1: ( ( rule__NLS__BundleListAssignment_2 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:656:1: ( rule__NLS__BundleListAssignment_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSAccess().getBundleListAssignment_2());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:657:1: ( rule__NLS__BundleListAssignment_2 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:657:2: rule__NLS__BundleListAssignment_2
+ {
+ pushFollow(FOLLOW_rule__NLS__BundleListAssignment_2_in_rule__NLS__Group__2__Impl1344);
+ rule__NLS__BundleListAssignment_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSAccess().getBundleListAssignment_2());
+ }
+
+ }
+
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:660:1: ( ( rule__NLS__BundleListAssignment_2 )* )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:661:1: ( rule__NLS__BundleListAssignment_2 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSAccess().getBundleListAssignment_2());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:662:1: ( rule__NLS__BundleListAssignment_2 )*
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==22) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:662:2: rule__NLS__BundleListAssignment_2
+ {
+ pushFollow(FOLLOW_rule__NLS__BundleListAssignment_2_in_rule__NLS__Group__2__Impl1356);
+ rule__NLS__BundleListAssignment_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSAccess().getBundleListAssignment_2());
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__NLS__Group__3"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:673:1: rule__NLS__Group__3 : rule__NLS__Group__3__Impl ;
+ public final void rule__NLS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:677:1: ( rule__NLS__Group__3__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:678:2: rule__NLS__Group__3__Impl
+ {
+ pushFollow(FOLLOW_rule__NLS__Group__3__Impl_in_rule__NLS__Group__31389);
+ rule__NLS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLS__Group__3"
+
+
+ // $ANTLR start "rule__NLS__Group__3__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:684:1: rule__NLS__Group__3__Impl : ( '}' ) ;
+ public final void rule__NLS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:688:1: ( ( '}' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:689:1: ( '}' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:689:1: ( '}' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:690:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSAccess().getRightCurlyBracketKeyword_3());
+ }
+ match(input,20,FOLLOW_20_in_rule__NLS__Group__3__Impl1417); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSAccess().getRightCurlyBracketKeyword_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__PackageDeclaration__Group__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:711:1: rule__PackageDeclaration__Group__0 : rule__PackageDeclaration__Group__0__Impl rule__PackageDeclaration__Group__1 ;
+ public final void rule__PackageDeclaration__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:715:1: ( rule__PackageDeclaration__Group__0__Impl rule__PackageDeclaration__Group__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:716:2: rule__PackageDeclaration__Group__0__Impl rule__PackageDeclaration__Group__1
+ {
+ pushFollow(FOLLOW_rule__PackageDeclaration__Group__0__Impl_in_rule__PackageDeclaration__Group__01456);
+ rule__PackageDeclaration__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__PackageDeclaration__Group__1_in_rule__PackageDeclaration__Group__01459);
+ rule__PackageDeclaration__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PackageDeclaration__Group__0"
+
+
+ // $ANTLR start "rule__PackageDeclaration__Group__0__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:723:1: rule__PackageDeclaration__Group__0__Impl : ( 'package' ) ;
+ public final void rule__PackageDeclaration__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:727:1: ( ( 'package' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:728:1: ( 'package' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:728:1: ( 'package' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:729:1: 'package'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPackageDeclarationAccess().getPackageKeyword_0());
+ }
+ match(input,21,FOLLOW_21_in_rule__PackageDeclaration__Group__0__Impl1487); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPackageDeclarationAccess().getPackageKeyword_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PackageDeclaration__Group__0__Impl"
+
+
+ // $ANTLR start "rule__PackageDeclaration__Group__1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:742:1: rule__PackageDeclaration__Group__1 : rule__PackageDeclaration__Group__1__Impl ;
+ public final void rule__PackageDeclaration__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:746:1: ( rule__PackageDeclaration__Group__1__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:747:2: rule__PackageDeclaration__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__PackageDeclaration__Group__1__Impl_in_rule__PackageDeclaration__Group__11518);
+ rule__PackageDeclaration__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PackageDeclaration__Group__1"
+
+
+ // $ANTLR start "rule__PackageDeclaration__Group__1__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:753:1: rule__PackageDeclaration__Group__1__Impl : ( ( rule__PackageDeclaration__NameAssignment_1 ) ) ;
+ public final void rule__PackageDeclaration__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:757:1: ( ( ( rule__PackageDeclaration__NameAssignment_1 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:758:1: ( ( rule__PackageDeclaration__NameAssignment_1 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:758:1: ( ( rule__PackageDeclaration__NameAssignment_1 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:759:1: ( rule__PackageDeclaration__NameAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPackageDeclarationAccess().getNameAssignment_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:760:1: ( rule__PackageDeclaration__NameAssignment_1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:760:2: rule__PackageDeclaration__NameAssignment_1
+ {
+ pushFollow(FOLLOW_rule__PackageDeclaration__NameAssignment_1_in_rule__PackageDeclaration__Group__1__Impl1545);
+ rule__PackageDeclaration__NameAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPackageDeclarationAccess().getNameAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PackageDeclaration__Group__1__Impl"
+
+
+ // $ANTLR start "rule__NLSBundle__Group__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:774:1: rule__NLSBundle__Group__0 : rule__NLSBundle__Group__0__Impl rule__NLSBundle__Group__1 ;
+ public final void rule__NLSBundle__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:778:1: ( rule__NLSBundle__Group__0__Impl rule__NLSBundle__Group__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:779:2: rule__NLSBundle__Group__0__Impl rule__NLSBundle__Group__1
+ {
+ pushFollow(FOLLOW_rule__NLSBundle__Group__0__Impl_in_rule__NLSBundle__Group__01579);
+ rule__NLSBundle__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__NLSBundle__Group__1_in_rule__NLSBundle__Group__01582);
+ rule__NLSBundle__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__Group__0"
+
+
+ // $ANTLR start "rule__NLSBundle__Group__0__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:786:1: rule__NLSBundle__Group__0__Impl : ( 'bundle' ) ;
+ public final void rule__NLSBundle__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:790:1: ( ( 'bundle' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:791:1: ( 'bundle' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:791:1: ( 'bundle' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:792:1: 'bundle'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSBundleAccess().getBundleKeyword_0());
+ }
+ match(input,22,FOLLOW_22_in_rule__NLSBundle__Group__0__Impl1610); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSBundleAccess().getBundleKeyword_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__Group__0__Impl"
+
+
+ // $ANTLR start "rule__NLSBundle__Group__1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:805:1: rule__NLSBundle__Group__1 : rule__NLSBundle__Group__1__Impl rule__NLSBundle__Group__2 ;
+ public final void rule__NLSBundle__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:809:1: ( rule__NLSBundle__Group__1__Impl rule__NLSBundle__Group__2 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:810:2: rule__NLSBundle__Group__1__Impl rule__NLSBundle__Group__2
+ {
+ pushFollow(FOLLOW_rule__NLSBundle__Group__1__Impl_in_rule__NLSBundle__Group__11641);
+ rule__NLSBundle__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__NLSBundle__Group__2_in_rule__NLSBundle__Group__11644);
+ rule__NLSBundle__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__Group__1"
+
+
+ // $ANTLR start "rule__NLSBundle__Group__1__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:817:1: rule__NLSBundle__Group__1__Impl : ( ( rule__NLSBundle__NameAssignment_1 ) ) ;
+ public final void rule__NLSBundle__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:821:1: ( ( ( rule__NLSBundle__NameAssignment_1 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:822:1: ( ( rule__NLSBundle__NameAssignment_1 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:822:1: ( ( rule__NLSBundle__NameAssignment_1 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:823:1: ( rule__NLSBundle__NameAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSBundleAccess().getNameAssignment_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:824:1: ( rule__NLSBundle__NameAssignment_1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:824:2: rule__NLSBundle__NameAssignment_1
+ {
+ pushFollow(FOLLOW_rule__NLSBundle__NameAssignment_1_in_rule__NLSBundle__Group__1__Impl1671);
+ rule__NLSBundle__NameAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSBundleAccess().getNameAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__Group__1__Impl"
+
+
+ // $ANTLR start "rule__NLSBundle__Group__2"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:834:1: rule__NLSBundle__Group__2 : rule__NLSBundle__Group__2__Impl rule__NLSBundle__Group__3 ;
+ public final void rule__NLSBundle__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:838:1: ( rule__NLSBundle__Group__2__Impl rule__NLSBundle__Group__3 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:839:2: rule__NLSBundle__Group__2__Impl rule__NLSBundle__Group__3
+ {
+ pushFollow(FOLLOW_rule__NLSBundle__Group__2__Impl_in_rule__NLSBundle__Group__21701);
+ rule__NLSBundle__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__NLSBundle__Group__3_in_rule__NLSBundle__Group__21704);
+ rule__NLSBundle__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__Group__2"
+
+
+ // $ANTLR start "rule__NLSBundle__Group__2__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:846:1: rule__NLSBundle__Group__2__Impl : ( 'default' ) ;
+ public final void rule__NLSBundle__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:850:1: ( ( 'default' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:851:1: ( 'default' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:851:1: ( 'default' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:852:1: 'default'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSBundleAccess().getDefaultKeyword_2());
+ }
+ match(input,23,FOLLOW_23_in_rule__NLSBundle__Group__2__Impl1732); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSBundleAccess().getDefaultKeyword_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__Group__2__Impl"
+
+
+ // $ANTLR start "rule__NLSBundle__Group__3"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:865:1: rule__NLSBundle__Group__3 : rule__NLSBundle__Group__3__Impl rule__NLSBundle__Group__4 ;
+ public final void rule__NLSBundle__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:869:1: ( rule__NLSBundle__Group__3__Impl rule__NLSBundle__Group__4 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:870:2: rule__NLSBundle__Group__3__Impl rule__NLSBundle__Group__4
+ {
+ pushFollow(FOLLOW_rule__NLSBundle__Group__3__Impl_in_rule__NLSBundle__Group__31763);
+ rule__NLSBundle__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__NLSBundle__Group__4_in_rule__NLSBundle__Group__31766);
+ rule__NLSBundle__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__Group__3"
+
+
+ // $ANTLR start "rule__NLSBundle__Group__3__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:877:1: rule__NLSBundle__Group__3__Impl : ( ( rule__NLSBundle__LangAssignment_3 ) ) ;
+ public final void rule__NLSBundle__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:881:1: ( ( ( rule__NLSBundle__LangAssignment_3 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:882:1: ( ( rule__NLSBundle__LangAssignment_3 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:882:1: ( ( rule__NLSBundle__LangAssignment_3 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:883:1: ( rule__NLSBundle__LangAssignment_3 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSBundleAccess().getLangAssignment_3());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:884:1: ( rule__NLSBundle__LangAssignment_3 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:884:2: rule__NLSBundle__LangAssignment_3
+ {
+ pushFollow(FOLLOW_rule__NLSBundle__LangAssignment_3_in_rule__NLSBundle__Group__3__Impl1793);
+ rule__NLSBundle__LangAssignment_3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSBundleAccess().getLangAssignment_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__Group__3__Impl"
+
+
+ // $ANTLR start "rule__NLSBundle__Group__4"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:894:1: rule__NLSBundle__Group__4 : rule__NLSBundle__Group__4__Impl rule__NLSBundle__Group__5 ;
+ public final void rule__NLSBundle__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:898:1: ( rule__NLSBundle__Group__4__Impl rule__NLSBundle__Group__5 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:899:2: rule__NLSBundle__Group__4__Impl rule__NLSBundle__Group__5
+ {
+ pushFollow(FOLLOW_rule__NLSBundle__Group__4__Impl_in_rule__NLSBundle__Group__41823);
+ rule__NLSBundle__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__NLSBundle__Group__5_in_rule__NLSBundle__Group__41826);
+ rule__NLSBundle__Group__5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__Group__4"
+
+
+ // $ANTLR start "rule__NLSBundle__Group__4__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:906:1: rule__NLSBundle__Group__4__Impl : ( '{' ) ;
+ public final void rule__NLSBundle__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:910:1: ( ( '{' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:911:1: ( '{' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:911:1: ( '{' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:912:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSBundleAccess().getLeftCurlyBracketKeyword_4());
+ }
+ match(input,19,FOLLOW_19_in_rule__NLSBundle__Group__4__Impl1854); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSBundleAccess().getLeftCurlyBracketKeyword_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__Group__4__Impl"
+
+
+ // $ANTLR start "rule__NLSBundle__Group__5"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:925:1: rule__NLSBundle__Group__5 : rule__NLSBundle__Group__5__Impl rule__NLSBundle__Group__6 ;
+ public final void rule__NLSBundle__Group__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:929:1: ( rule__NLSBundle__Group__5__Impl rule__NLSBundle__Group__6 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:930:2: rule__NLSBundle__Group__5__Impl rule__NLSBundle__Group__6
+ {
+ pushFollow(FOLLOW_rule__NLSBundle__Group__5__Impl_in_rule__NLSBundle__Group__51885);
+ rule__NLSBundle__Group__5__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__NLSBundle__Group__6_in_rule__NLSBundle__Group__51888);
+ rule__NLSBundle__Group__6();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__Group__5"
+
+
+ // $ANTLR start "rule__NLSBundle__Group__5__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:937:1: rule__NLSBundle__Group__5__Impl : ( ( rule__NLSBundle__FormatterListAssignment_5 )* ) ;
+ public final void rule__NLSBundle__Group__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:941:1: ( ( ( rule__NLSBundle__FormatterListAssignment_5 )* ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:942:1: ( ( rule__NLSBundle__FormatterListAssignment_5 )* )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:942:1: ( ( rule__NLSBundle__FormatterListAssignment_5 )* )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:943:1: ( rule__NLSBundle__FormatterListAssignment_5 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSBundleAccess().getFormatterListAssignment_5());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:944:1: ( rule__NLSBundle__FormatterListAssignment_5 )*
+ loop6:
+ do {
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==24) ) {
+ alt6=1;
+ }
+
+
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:944:2: rule__NLSBundle__FormatterListAssignment_5
+ {
+ pushFollow(FOLLOW_rule__NLSBundle__FormatterListAssignment_5_in_rule__NLSBundle__Group__5__Impl1915);
+ rule__NLSBundle__FormatterListAssignment_5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop6;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSBundleAccess().getFormatterListAssignment_5());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__Group__5__Impl"
+
+
+ // $ANTLR start "rule__NLSBundle__Group__6"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:954:1: rule__NLSBundle__Group__6 : rule__NLSBundle__Group__6__Impl rule__NLSBundle__Group__7 ;
+ public final void rule__NLSBundle__Group__6() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:958:1: ( rule__NLSBundle__Group__6__Impl rule__NLSBundle__Group__7 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:959:2: rule__NLSBundle__Group__6__Impl rule__NLSBundle__Group__7
+ {
+ pushFollow(FOLLOW_rule__NLSBundle__Group__6__Impl_in_rule__NLSBundle__Group__61946);
+ rule__NLSBundle__Group__6__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__NLSBundle__Group__7_in_rule__NLSBundle__Group__61949);
+ rule__NLSBundle__Group__7();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__Group__6"
+
+
+ // $ANTLR start "rule__NLSBundle__Group__6__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:966:1: rule__NLSBundle__Group__6__Impl : ( ( ( rule__NLSBundle__MessageEntryListAssignment_6 ) ) ( ( rule__NLSBundle__MessageEntryListAssignment_6 )* ) ) ;
+ public final void rule__NLSBundle__Group__6__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:970:1: ( ( ( ( rule__NLSBundle__MessageEntryListAssignment_6 ) ) ( ( rule__NLSBundle__MessageEntryListAssignment_6 )* ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:971:1: ( ( ( rule__NLSBundle__MessageEntryListAssignment_6 ) ) ( ( rule__NLSBundle__MessageEntryListAssignment_6 )* ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:971:1: ( ( ( rule__NLSBundle__MessageEntryListAssignment_6 ) ) ( ( rule__NLSBundle__MessageEntryListAssignment_6 )* ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:972:1: ( ( rule__NLSBundle__MessageEntryListAssignment_6 ) ) ( ( rule__NLSBundle__MessageEntryListAssignment_6 )* )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:972:1: ( ( rule__NLSBundle__MessageEntryListAssignment_6 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:973:1: ( rule__NLSBundle__MessageEntryListAssignment_6 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSBundleAccess().getMessageEntryListAssignment_6());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:974:1: ( rule__NLSBundle__MessageEntryListAssignment_6 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:974:2: rule__NLSBundle__MessageEntryListAssignment_6
+ {
+ pushFollow(FOLLOW_rule__NLSBundle__MessageEntryListAssignment_6_in_rule__NLSBundle__Group__6__Impl1978);
+ rule__NLSBundle__MessageEntryListAssignment_6();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSBundleAccess().getMessageEntryListAssignment_6());
+ }
+
+ }
+
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:977:1: ( ( rule__NLSBundle__MessageEntryListAssignment_6 )* )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:978:1: ( rule__NLSBundle__MessageEntryListAssignment_6 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSBundleAccess().getMessageEntryListAssignment_6());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:979:1: ( rule__NLSBundle__MessageEntryListAssignment_6 )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0==RULE_ID) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:979:2: rule__NLSBundle__MessageEntryListAssignment_6
+ {
+ pushFollow(FOLLOW_rule__NLSBundle__MessageEntryListAssignment_6_in_rule__NLSBundle__Group__6__Impl1990);
+ rule__NLSBundle__MessageEntryListAssignment_6();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSBundleAccess().getMessageEntryListAssignment_6());
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__Group__6__Impl"
+
+
+ // $ANTLR start "rule__NLSBundle__Group__7"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:990:1: rule__NLSBundle__Group__7 : rule__NLSBundle__Group__7__Impl ;
+ public final void rule__NLSBundle__Group__7() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:994:1: ( rule__NLSBundle__Group__7__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:995:2: rule__NLSBundle__Group__7__Impl
+ {
+ pushFollow(FOLLOW_rule__NLSBundle__Group__7__Impl_in_rule__NLSBundle__Group__72023);
+ rule__NLSBundle__Group__7__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__Group__7"
+
+
+ // $ANTLR start "rule__NLSBundle__Group__7__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1001:1: rule__NLSBundle__Group__7__Impl : ( '}' ) ;
+ public final void rule__NLSBundle__Group__7__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1005:1: ( ( '}' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1006:1: ( '}' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1006:1: ( '}' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1007:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSBundleAccess().getRightCurlyBracketKeyword_7());
+ }
+ match(input,20,FOLLOW_20_in_rule__NLSBundle__Group__7__Impl2051); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSBundleAccess().getRightCurlyBracketKeyword_7());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__Group__7__Impl"
+
+
+ // $ANTLR start "rule__NLSFormatter__Group__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1036:1: rule__NLSFormatter__Group__0 : rule__NLSFormatter__Group__0__Impl rule__NLSFormatter__Group__1 ;
+ public final void rule__NLSFormatter__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1040:1: ( rule__NLSFormatter__Group__0__Impl rule__NLSFormatter__Group__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1041:2: rule__NLSFormatter__Group__0__Impl rule__NLSFormatter__Group__1
+ {
+ pushFollow(FOLLOW_rule__NLSFormatter__Group__0__Impl_in_rule__NLSFormatter__Group__02098);
+ rule__NLSFormatter__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__NLSFormatter__Group__1_in_rule__NLSFormatter__Group__02101);
+ rule__NLSFormatter__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSFormatter__Group__0"
+
+
+ // $ANTLR start "rule__NLSFormatter__Group__0__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1048:1: rule__NLSFormatter__Group__0__Impl : ( 'formatter' ) ;
+ public final void rule__NLSFormatter__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1052:1: ( ( 'formatter' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1053:1: ( 'formatter' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1053:1: ( 'formatter' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1054:1: 'formatter'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSFormatterAccess().getFormatterKeyword_0());
+ }
+ match(input,24,FOLLOW_24_in_rule__NLSFormatter__Group__0__Impl2129); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSFormatterAccess().getFormatterKeyword_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSFormatter__Group__0__Impl"
+
+
+ // $ANTLR start "rule__NLSFormatter__Group__1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1067:1: rule__NLSFormatter__Group__1 : rule__NLSFormatter__Group__1__Impl rule__NLSFormatter__Group__2 ;
+ public final void rule__NLSFormatter__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1071:1: ( rule__NLSFormatter__Group__1__Impl rule__NLSFormatter__Group__2 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1072:2: rule__NLSFormatter__Group__1__Impl rule__NLSFormatter__Group__2
+ {
+ pushFollow(FOLLOW_rule__NLSFormatter__Group__1__Impl_in_rule__NLSFormatter__Group__12160);
+ rule__NLSFormatter__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__NLSFormatter__Group__2_in_rule__NLSFormatter__Group__12163);
+ rule__NLSFormatter__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSFormatter__Group__1"
+
+
+ // $ANTLR start "rule__NLSFormatter__Group__1__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1079:1: rule__NLSFormatter__Group__1__Impl : ( ( rule__NLSFormatter__NameAssignment_1 ) ) ;
+ public final void rule__NLSFormatter__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1083:1: ( ( ( rule__NLSFormatter__NameAssignment_1 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1084:1: ( ( rule__NLSFormatter__NameAssignment_1 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1084:1: ( ( rule__NLSFormatter__NameAssignment_1 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1085:1: ( rule__NLSFormatter__NameAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSFormatterAccess().getNameAssignment_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1086:1: ( rule__NLSFormatter__NameAssignment_1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1086:2: rule__NLSFormatter__NameAssignment_1
+ {
+ pushFollow(FOLLOW_rule__NLSFormatter__NameAssignment_1_in_rule__NLSFormatter__Group__1__Impl2190);
+ rule__NLSFormatter__NameAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSFormatterAccess().getNameAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSFormatter__Group__1__Impl"
+
+
+ // $ANTLR start "rule__NLSFormatter__Group__2"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1096:1: rule__NLSFormatter__Group__2 : rule__NLSFormatter__Group__2__Impl ;
+ public final void rule__NLSFormatter__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1100:1: ( rule__NLSFormatter__Group__2__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1101:2: rule__NLSFormatter__Group__2__Impl
+ {
+ pushFollow(FOLLOW_rule__NLSFormatter__Group__2__Impl_in_rule__NLSFormatter__Group__22220);
+ rule__NLSFormatter__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSFormatter__Group__2"
+
+
+ // $ANTLR start "rule__NLSFormatter__Group__2__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1107:1: rule__NLSFormatter__Group__2__Impl : ( ( rule__NLSFormatter__ClassRefAssignment_2 ) ) ;
+ public final void rule__NLSFormatter__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1111:1: ( ( ( rule__NLSFormatter__ClassRefAssignment_2 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1112:1: ( ( rule__NLSFormatter__ClassRefAssignment_2 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1112:1: ( ( rule__NLSFormatter__ClassRefAssignment_2 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1113:1: ( rule__NLSFormatter__ClassRefAssignment_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSFormatterAccess().getClassRefAssignment_2());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1114:1: ( rule__NLSFormatter__ClassRefAssignment_2 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1114:2: rule__NLSFormatter__ClassRefAssignment_2
+ {
+ pushFollow(FOLLOW_rule__NLSFormatter__ClassRefAssignment_2_in_rule__NLSFormatter__Group__2__Impl2247);
+ rule__NLSFormatter__ClassRefAssignment_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSFormatterAccess().getClassRefAssignment_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSFormatter__Group__2__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1130:1: rule__MessageEntry__Group__0 : rule__MessageEntry__Group__0__Impl rule__MessageEntry__Group__1 ;
+ public final void rule__MessageEntry__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1134:1: ( rule__MessageEntry__Group__0__Impl rule__MessageEntry__Group__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1135:2: rule__MessageEntry__Group__0__Impl rule__MessageEntry__Group__1
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group__0__Impl_in_rule__MessageEntry__Group__02283);
+ rule__MessageEntry__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__MessageEntry__Group__1_in_rule__MessageEntry__Group__02286);
+ rule__MessageEntry__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group__0"
+
+
+ // $ANTLR start "rule__MessageEntry__Group__0__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1142:1: rule__MessageEntry__Group__0__Impl : ( ( rule__MessageEntry__NameAssignment_0 ) ) ;
+ public final void rule__MessageEntry__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1146:1: ( ( ( rule__MessageEntry__NameAssignment_0 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1147:1: ( ( rule__MessageEntry__NameAssignment_0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1147:1: ( ( rule__MessageEntry__NameAssignment_0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1148:1: ( rule__MessageEntry__NameAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getNameAssignment_0());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1149:1: ( rule__MessageEntry__NameAssignment_0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1149:2: rule__MessageEntry__NameAssignment_0
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__NameAssignment_0_in_rule__MessageEntry__Group__0__Impl2313);
+ rule__MessageEntry__NameAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getNameAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group__0__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group__1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1159:1: rule__MessageEntry__Group__1 : rule__MessageEntry__Group__1__Impl rule__MessageEntry__Group__2 ;
+ public final void rule__MessageEntry__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1163:1: ( rule__MessageEntry__Group__1__Impl rule__MessageEntry__Group__2 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1164:2: rule__MessageEntry__Group__1__Impl rule__MessageEntry__Group__2
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group__1__Impl_in_rule__MessageEntry__Group__12343);
+ rule__MessageEntry__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__MessageEntry__Group__2_in_rule__MessageEntry__Group__12346);
+ rule__MessageEntry__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group__1"
+
+
+ // $ANTLR start "rule__MessageEntry__Group__1__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1171:1: rule__MessageEntry__Group__1__Impl : ( ( rule__MessageEntry__Group_1__0 )? ) ;
+ public final void rule__MessageEntry__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1175:1: ( ( ( rule__MessageEntry__Group_1__0 )? ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1176:1: ( ( rule__MessageEntry__Group_1__0 )? )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1176:1: ( ( rule__MessageEntry__Group_1__0 )? )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1177:1: ( rule__MessageEntry__Group_1__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getGroup_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1178:1: ( rule__MessageEntry__Group_1__0 )?
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0==26) ) {
+ alt8=1;
+ }
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1178:2: rule__MessageEntry__Group_1__0
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_1__0_in_rule__MessageEntry__Group__1__Impl2373);
+ rule__MessageEntry__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group__1__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group__2"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1188:1: rule__MessageEntry__Group__2 : rule__MessageEntry__Group__2__Impl rule__MessageEntry__Group__3 ;
+ public final void rule__MessageEntry__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1192:1: ( rule__MessageEntry__Group__2__Impl rule__MessageEntry__Group__3 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1193:2: rule__MessageEntry__Group__2__Impl rule__MessageEntry__Group__3
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group__2__Impl_in_rule__MessageEntry__Group__22404);
+ rule__MessageEntry__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__MessageEntry__Group__3_in_rule__MessageEntry__Group__22407);
+ rule__MessageEntry__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group__2"
+
+
+ // $ANTLR start "rule__MessageEntry__Group__2__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1200:1: rule__MessageEntry__Group__2__Impl : ( ':' ) ;
+ public final void rule__MessageEntry__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1204:1: ( ( ':' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1205:1: ( ':' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1205:1: ( ':' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1206:1: ':'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getColonKeyword_2());
+ }
+ match(input,25,FOLLOW_25_in_rule__MessageEntry__Group__2__Impl2435); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getColonKeyword_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group__2__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group__3"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1219:1: rule__MessageEntry__Group__3 : rule__MessageEntry__Group__3__Impl ;
+ public final void rule__MessageEntry__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1223:1: ( rule__MessageEntry__Group__3__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1224:2: rule__MessageEntry__Group__3__Impl
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group__3__Impl_in_rule__MessageEntry__Group__32466);
+ rule__MessageEntry__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group__3"
+
+
+ // $ANTLR start "rule__MessageEntry__Group__3__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1230:1: rule__MessageEntry__Group__3__Impl : ( ( rule__MessageEntry__Alternatives_3 ) ) ;
+ public final void rule__MessageEntry__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1234:1: ( ( ( rule__MessageEntry__Alternatives_3 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1235:1: ( ( rule__MessageEntry__Alternatives_3 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1235:1: ( ( rule__MessageEntry__Alternatives_3 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1236:1: ( rule__MessageEntry__Alternatives_3 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getAlternatives_3());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1237:1: ( rule__MessageEntry__Alternatives_3 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1237:2: rule__MessageEntry__Alternatives_3
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Alternatives_3_in_rule__MessageEntry__Group__3__Impl2493);
+ rule__MessageEntry__Alternatives_3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getAlternatives_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group__3__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_1__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1255:1: rule__MessageEntry__Group_1__0 : rule__MessageEntry__Group_1__0__Impl rule__MessageEntry__Group_1__1 ;
+ public final void rule__MessageEntry__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1259:1: ( rule__MessageEntry__Group_1__0__Impl rule__MessageEntry__Group_1__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1260:2: rule__MessageEntry__Group_1__0__Impl rule__MessageEntry__Group_1__1
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_1__0__Impl_in_rule__MessageEntry__Group_1__02531);
+ rule__MessageEntry__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__MessageEntry__Group_1__1_in_rule__MessageEntry__Group_1__02534);
+ rule__MessageEntry__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_1__0"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_1__0__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1267:1: rule__MessageEntry__Group_1__0__Impl : ( '(' ) ;
+ public final void rule__MessageEntry__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1271:1: ( ( '(' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1272:1: ( '(' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1272:1: ( '(' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1273:1: '('
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getLeftParenthesisKeyword_1_0());
+ }
+ match(input,26,FOLLOW_26_in_rule__MessageEntry__Group_1__0__Impl2562); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getLeftParenthesisKeyword_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_1__1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1286:1: rule__MessageEntry__Group_1__1 : rule__MessageEntry__Group_1__1__Impl rule__MessageEntry__Group_1__2 ;
+ public final void rule__MessageEntry__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1290:1: ( rule__MessageEntry__Group_1__1__Impl rule__MessageEntry__Group_1__2 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1291:2: rule__MessageEntry__Group_1__1__Impl rule__MessageEntry__Group_1__2
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_1__1__Impl_in_rule__MessageEntry__Group_1__12593);
+ rule__MessageEntry__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__MessageEntry__Group_1__2_in_rule__MessageEntry__Group_1__12596);
+ rule__MessageEntry__Group_1__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_1__1"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_1__1__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1298:1: rule__MessageEntry__Group_1__1__Impl : ( ( rule__MessageEntry__ParamListAssignment_1_1 ) ) ;
+ public final void rule__MessageEntry__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1302:1: ( ( ( rule__MessageEntry__ParamListAssignment_1_1 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1303:1: ( ( rule__MessageEntry__ParamListAssignment_1_1 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1303:1: ( ( rule__MessageEntry__ParamListAssignment_1_1 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1304:1: ( rule__MessageEntry__ParamListAssignment_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getParamListAssignment_1_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1305:1: ( rule__MessageEntry__ParamListAssignment_1_1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1305:2: rule__MessageEntry__ParamListAssignment_1_1
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__ParamListAssignment_1_1_in_rule__MessageEntry__Group_1__1__Impl2623);
+ rule__MessageEntry__ParamListAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getParamListAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_1__2"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1315:1: rule__MessageEntry__Group_1__2 : rule__MessageEntry__Group_1__2__Impl rule__MessageEntry__Group_1__3 ;
+ public final void rule__MessageEntry__Group_1__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1319:1: ( rule__MessageEntry__Group_1__2__Impl rule__MessageEntry__Group_1__3 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1320:2: rule__MessageEntry__Group_1__2__Impl rule__MessageEntry__Group_1__3
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_1__2__Impl_in_rule__MessageEntry__Group_1__22653);
+ rule__MessageEntry__Group_1__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__MessageEntry__Group_1__3_in_rule__MessageEntry__Group_1__22656);
+ rule__MessageEntry__Group_1__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_1__2"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_1__2__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1327:1: rule__MessageEntry__Group_1__2__Impl : ( ( rule__MessageEntry__Group_1_2__0 )* ) ;
+ public final void rule__MessageEntry__Group_1__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1331:1: ( ( ( rule__MessageEntry__Group_1_2__0 )* ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1332:1: ( ( rule__MessageEntry__Group_1_2__0 )* )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1332:1: ( ( rule__MessageEntry__Group_1_2__0 )* )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1333:1: ( rule__MessageEntry__Group_1_2__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getGroup_1_2());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1334:1: ( rule__MessageEntry__Group_1_2__0 )*
+ loop9:
+ do {
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0==28) ) {
+ alt9=1;
+ }
+
+
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1334:2: rule__MessageEntry__Group_1_2__0
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_1_2__0_in_rule__MessageEntry__Group_1__2__Impl2683);
+ rule__MessageEntry__Group_1_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop9;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getGroup_1_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_1__2__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_1__3"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1344:1: rule__MessageEntry__Group_1__3 : rule__MessageEntry__Group_1__3__Impl ;
+ public final void rule__MessageEntry__Group_1__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1348:1: ( rule__MessageEntry__Group_1__3__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1349:2: rule__MessageEntry__Group_1__3__Impl
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_1__3__Impl_in_rule__MessageEntry__Group_1__32714);
+ rule__MessageEntry__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__MessageEntry__Group_1__3"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_1__3__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1355:1: rule__MessageEntry__Group_1__3__Impl : ( ')' ) ;
+ public final void rule__MessageEntry__Group_1__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1359:1: ( ( ')' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1360:1: ( ')' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1360:1: ( ')' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1361:1: ')'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getRightParenthesisKeyword_1_3());
+ }
+ match(input,27,FOLLOW_27_in_rule__MessageEntry__Group_1__3__Impl2742); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getRightParenthesisKeyword_1_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_1__3__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_1_2__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1382:1: rule__MessageEntry__Group_1_2__0 : rule__MessageEntry__Group_1_2__0__Impl rule__MessageEntry__Group_1_2__1 ;
+ public final void rule__MessageEntry__Group_1_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1386:1: ( rule__MessageEntry__Group_1_2__0__Impl rule__MessageEntry__Group_1_2__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1387:2: rule__MessageEntry__Group_1_2__0__Impl rule__MessageEntry__Group_1_2__1
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_1_2__0__Impl_in_rule__MessageEntry__Group_1_2__02781);
+ rule__MessageEntry__Group_1_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__MessageEntry__Group_1_2__1_in_rule__MessageEntry__Group_1_2__02784);
+ rule__MessageEntry__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__MessageEntry__Group_1_2__0"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_1_2__0__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1394:1: rule__MessageEntry__Group_1_2__0__Impl : ( ',' ) ;
+ public final void rule__MessageEntry__Group_1_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1398:1: ( ( ',' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1399:1: ( ',' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1399:1: ( ',' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1400:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getCommaKeyword_1_2_0());
+ }
+ match(input,28,FOLLOW_28_in_rule__MessageEntry__Group_1_2__0__Impl2812); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getCommaKeyword_1_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_1_2__0__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_1_2__1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1413:1: rule__MessageEntry__Group_1_2__1 : rule__MessageEntry__Group_1_2__1__Impl ;
+ public final void rule__MessageEntry__Group_1_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1417:1: ( rule__MessageEntry__Group_1_2__1__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1418:2: rule__MessageEntry__Group_1_2__1__Impl
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_1_2__1__Impl_in_rule__MessageEntry__Group_1_2__12843);
+ rule__MessageEntry__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__MessageEntry__Group_1_2__1"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_1_2__1__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1424:1: rule__MessageEntry__Group_1_2__1__Impl : ( ( rule__MessageEntry__ParamListAssignment_1_2_1 ) ) ;
+ public final void rule__MessageEntry__Group_1_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1428:1: ( ( ( rule__MessageEntry__ParamListAssignment_1_2_1 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1429:1: ( ( rule__MessageEntry__ParamListAssignment_1_2_1 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1429:1: ( ( rule__MessageEntry__ParamListAssignment_1_2_1 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1430:1: ( rule__MessageEntry__ParamListAssignment_1_2_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getParamListAssignment_1_2_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1431:1: ( rule__MessageEntry__ParamListAssignment_1_2_1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1431:2: rule__MessageEntry__ParamListAssignment_1_2_1
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__ParamListAssignment_1_2_1_in_rule__MessageEntry__Group_1_2__1__Impl2870);
+ rule__MessageEntry__ParamListAssignment_1_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getParamListAssignment_1_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_1_2__1__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_0__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1445:1: rule__MessageEntry__Group_3_0__0 : rule__MessageEntry__Group_3_0__0__Impl rule__MessageEntry__Group_3_0__1 ;
+ public final void rule__MessageEntry__Group_3_0__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1449:1: ( rule__MessageEntry__Group_3_0__0__Impl rule__MessageEntry__Group_3_0__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1450:2: rule__MessageEntry__Group_3_0__0__Impl rule__MessageEntry__Group_3_0__1
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_0__0__Impl_in_rule__MessageEntry__Group_3_0__02904);
+ rule__MessageEntry__Group_3_0__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_0__1_in_rule__MessageEntry__Group_3_0__02907);
+ rule__MessageEntry__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__MessageEntry__Group_3_0__0"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_0__0__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1457:1: rule__MessageEntry__Group_3_0__0__Impl : ( '{' ) ;
+ public final void rule__MessageEntry__Group_3_0__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1461:1: ( ( '{' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1462:1: ( '{' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1462:1: ( '{' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1463:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getLeftCurlyBracketKeyword_3_0_0());
+ }
+ match(input,19,FOLLOW_19_in_rule__MessageEntry__Group_3_0__0__Impl2935); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getLeftCurlyBracketKeyword_3_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_3_0__0__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_0__1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1476:1: rule__MessageEntry__Group_3_0__1 : rule__MessageEntry__Group_3_0__1__Impl rule__MessageEntry__Group_3_0__2 ;
+ public final void rule__MessageEntry__Group_3_0__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1480:1: ( rule__MessageEntry__Group_3_0__1__Impl rule__MessageEntry__Group_3_0__2 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1481:2: rule__MessageEntry__Group_3_0__1__Impl rule__MessageEntry__Group_3_0__2
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_0__1__Impl_in_rule__MessageEntry__Group_3_0__12966);
+ rule__MessageEntry__Group_3_0__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_0__2_in_rule__MessageEntry__Group_3_0__12969);
+ rule__MessageEntry__Group_3_0__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_3_0__1"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_0__1__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1488:1: rule__MessageEntry__Group_3_0__1__Impl : ( ( rule__MessageEntry__MessageListAssignment_3_0_1 ) ) ;
+ public final void rule__MessageEntry__Group_3_0__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1492:1: ( ( ( rule__MessageEntry__MessageListAssignment_3_0_1 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1493:1: ( ( rule__MessageEntry__MessageListAssignment_3_0_1 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1493:1: ( ( rule__MessageEntry__MessageListAssignment_3_0_1 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1494:1: ( rule__MessageEntry__MessageListAssignment_3_0_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getMessageListAssignment_3_0_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1495:1: ( rule__MessageEntry__MessageListAssignment_3_0_1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1495:2: rule__MessageEntry__MessageListAssignment_3_0_1
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__MessageListAssignment_3_0_1_in_rule__MessageEntry__Group_3_0__1__Impl2996);
+ rule__MessageEntry__MessageListAssignment_3_0_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getMessageListAssignment_3_0_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_3_0__1__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_0__2"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1505:1: rule__MessageEntry__Group_3_0__2 : rule__MessageEntry__Group_3_0__2__Impl rule__MessageEntry__Group_3_0__3 ;
+ public final void rule__MessageEntry__Group_3_0__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1509:1: ( rule__MessageEntry__Group_3_0__2__Impl rule__MessageEntry__Group_3_0__3 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1510:2: rule__MessageEntry__Group_3_0__2__Impl rule__MessageEntry__Group_3_0__3
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_0__2__Impl_in_rule__MessageEntry__Group_3_0__23026);
+ rule__MessageEntry__Group_3_0__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_0__3_in_rule__MessageEntry__Group_3_0__23029);
+ rule__MessageEntry__Group_3_0__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_3_0__2"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_0__2__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1517:1: rule__MessageEntry__Group_3_0__2__Impl : ( ( rule__MessageEntry__Group_3_0_2__0 )* ) ;
+ public final void rule__MessageEntry__Group_3_0__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1521:1: ( ( ( rule__MessageEntry__Group_3_0_2__0 )* ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1522:1: ( ( rule__MessageEntry__Group_3_0_2__0 )* )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1522:1: ( ( rule__MessageEntry__Group_3_0_2__0 )* )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1523:1: ( rule__MessageEntry__Group_3_0_2__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getGroup_3_0_2());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1524:1: ( rule__MessageEntry__Group_3_0_2__0 )*
+ loop10:
+ do {
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0==28) ) {
+ alt10=1;
+ }
+
+
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1524:2: rule__MessageEntry__Group_3_0_2__0
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_0_2__0_in_rule__MessageEntry__Group_3_0__2__Impl3056);
+ rule__MessageEntry__Group_3_0_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop10;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getGroup_3_0_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_3_0__2__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_0__3"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1534:1: rule__MessageEntry__Group_3_0__3 : rule__MessageEntry__Group_3_0__3__Impl ;
+ public final void rule__MessageEntry__Group_3_0__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1538:1: ( rule__MessageEntry__Group_3_0__3__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1539:2: rule__MessageEntry__Group_3_0__3__Impl
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_0__3__Impl_in_rule__MessageEntry__Group_3_0__33087);
+ rule__MessageEntry__Group_3_0__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_3_0__3"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_0__3__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1545:1: rule__MessageEntry__Group_3_0__3__Impl : ( '}' ) ;
+ public final void rule__MessageEntry__Group_3_0__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1549:1: ( ( '}' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1550:1: ( '}' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1550:1: ( '}' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1551:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getRightCurlyBracketKeyword_3_0_3());
+ }
+ match(input,20,FOLLOW_20_in_rule__MessageEntry__Group_3_0__3__Impl3115); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getRightCurlyBracketKeyword_3_0_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_3_0__3__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_0_2__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1572:1: rule__MessageEntry__Group_3_0_2__0 : rule__MessageEntry__Group_3_0_2__0__Impl rule__MessageEntry__Group_3_0_2__1 ;
+ public final void rule__MessageEntry__Group_3_0_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1576:1: ( rule__MessageEntry__Group_3_0_2__0__Impl rule__MessageEntry__Group_3_0_2__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1577:2: rule__MessageEntry__Group_3_0_2__0__Impl rule__MessageEntry__Group_3_0_2__1
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_0_2__0__Impl_in_rule__MessageEntry__Group_3_0_2__03154);
+ rule__MessageEntry__Group_3_0_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_0_2__1_in_rule__MessageEntry__Group_3_0_2__03157);
+ rule__MessageEntry__Group_3_0_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_3_0_2__0"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_0_2__0__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1584:1: rule__MessageEntry__Group_3_0_2__0__Impl : ( ',' ) ;
+ public final void rule__MessageEntry__Group_3_0_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1588:1: ( ( ',' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1589:1: ( ',' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1589:1: ( ',' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1590:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getCommaKeyword_3_0_2_0());
+ }
+ match(input,28,FOLLOW_28_in_rule__MessageEntry__Group_3_0_2__0__Impl3185); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getCommaKeyword_3_0_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_3_0_2__0__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_0_2__1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1603:1: rule__MessageEntry__Group_3_0_2__1 : rule__MessageEntry__Group_3_0_2__1__Impl ;
+ public final void rule__MessageEntry__Group_3_0_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1607:1: ( rule__MessageEntry__Group_3_0_2__1__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1608:2: rule__MessageEntry__Group_3_0_2__1__Impl
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_0_2__1__Impl_in_rule__MessageEntry__Group_3_0_2__13216);
+ rule__MessageEntry__Group_3_0_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_3_0_2__1"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_0_2__1__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1614:1: rule__MessageEntry__Group_3_0_2__1__Impl : ( ( rule__MessageEntry__MessageListAssignment_3_0_2_1 ) ) ;
+ public final void rule__MessageEntry__Group_3_0_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1618:1: ( ( ( rule__MessageEntry__MessageListAssignment_3_0_2_1 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1619:1: ( ( rule__MessageEntry__MessageListAssignment_3_0_2_1 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1619:1: ( ( rule__MessageEntry__MessageListAssignment_3_0_2_1 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1620:1: ( rule__MessageEntry__MessageListAssignment_3_0_2_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getMessageListAssignment_3_0_2_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1621:1: ( rule__MessageEntry__MessageListAssignment_3_0_2_1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1621:2: rule__MessageEntry__MessageListAssignment_3_0_2_1
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__MessageListAssignment_3_0_2_1_in_rule__MessageEntry__Group_3_0_2__1__Impl3243);
+ rule__MessageEntry__MessageListAssignment_3_0_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getMessageListAssignment_3_0_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_3_0_2__1__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_1__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1635:1: rule__MessageEntry__Group_3_1__0 : rule__MessageEntry__Group_3_1__0__Impl rule__MessageEntry__Group_3_1__1 ;
+ public final void rule__MessageEntry__Group_3_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1639:1: ( rule__MessageEntry__Group_3_1__0__Impl rule__MessageEntry__Group_3_1__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1640:2: rule__MessageEntry__Group_3_1__0__Impl rule__MessageEntry__Group_3_1__1
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_1__0__Impl_in_rule__MessageEntry__Group_3_1__03277);
+ rule__MessageEntry__Group_3_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_1__1_in_rule__MessageEntry__Group_3_1__03280);
+ rule__MessageEntry__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__MessageEntry__Group_3_1__0"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_1__0__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1647:1: rule__MessageEntry__Group_3_1__0__Impl : ( '[' ) ;
+ public final void rule__MessageEntry__Group_3_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1651:1: ( ( '[' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1652:1: ( '[' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1652:1: ( '[' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1653:1: '['
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getLeftSquareBracketKeyword_3_1_0());
+ }
+ match(input,29,FOLLOW_29_in_rule__MessageEntry__Group_3_1__0__Impl3308); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getLeftSquareBracketKeyword_3_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_3_1__0__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_1__1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1666:1: rule__MessageEntry__Group_3_1__1 : rule__MessageEntry__Group_3_1__1__Impl rule__MessageEntry__Group_3_1__2 ;
+ public final void rule__MessageEntry__Group_3_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1670:1: ( rule__MessageEntry__Group_3_1__1__Impl rule__MessageEntry__Group_3_1__2 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1671:2: rule__MessageEntry__Group_3_1__1__Impl rule__MessageEntry__Group_3_1__2
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_1__1__Impl_in_rule__MessageEntry__Group_3_1__13339);
+ rule__MessageEntry__Group_3_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_1__2_in_rule__MessageEntry__Group_3_1__13342);
+ rule__MessageEntry__Group_3_1__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_3_1__1"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_1__1__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1678:1: rule__MessageEntry__Group_3_1__1__Impl : ( ( rule__MessageEntry__EntryRefAssignment_3_1_1 ) ) ;
+ public final void rule__MessageEntry__Group_3_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1682:1: ( ( ( rule__MessageEntry__EntryRefAssignment_3_1_1 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1683:1: ( ( rule__MessageEntry__EntryRefAssignment_3_1_1 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1683:1: ( ( rule__MessageEntry__EntryRefAssignment_3_1_1 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1684:1: ( rule__MessageEntry__EntryRefAssignment_3_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getEntryRefAssignment_3_1_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1685:1: ( rule__MessageEntry__EntryRefAssignment_3_1_1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1685:2: rule__MessageEntry__EntryRefAssignment_3_1_1
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__EntryRefAssignment_3_1_1_in_rule__MessageEntry__Group_3_1__1__Impl3369);
+ rule__MessageEntry__EntryRefAssignment_3_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getEntryRefAssignment_3_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_3_1__1__Impl"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_1__2"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1695:1: rule__MessageEntry__Group_3_1__2 : rule__MessageEntry__Group_3_1__2__Impl ;
+ public final void rule__MessageEntry__Group_3_1__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1699:1: ( rule__MessageEntry__Group_3_1__2__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1700:2: rule__MessageEntry__Group_3_1__2__Impl
+ {
+ pushFollow(FOLLOW_rule__MessageEntry__Group_3_1__2__Impl_in_rule__MessageEntry__Group_3_1__23399);
+ rule__MessageEntry__Group_3_1__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_3_1__2"
+
+
+ // $ANTLR start "rule__MessageEntry__Group_3_1__2__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1706:1: rule__MessageEntry__Group_3_1__2__Impl : ( ']' ) ;
+ public final void rule__MessageEntry__Group_3_1__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1710:1: ( ( ']' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1711:1: ( ']' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1711:1: ( ']' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1712:1: ']'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getRightSquareBracketKeyword_3_1_2());
+ }
+ match(input,30,FOLLOW_30_in_rule__MessageEntry__Group_3_1__2__Impl3427); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getRightSquareBracketKeyword_3_1_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__Group_3_1__2__Impl"
+
+
+ // $ANTLR start "rule__MessageParam__Group__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1731:1: rule__MessageParam__Group__0 : rule__MessageParam__Group__0__Impl rule__MessageParam__Group__1 ;
+ public final void rule__MessageParam__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1735:1: ( rule__MessageParam__Group__0__Impl rule__MessageParam__Group__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1736:2: rule__MessageParam__Group__0__Impl rule__MessageParam__Group__1
+ {
+ pushFollow(FOLLOW_rule__MessageParam__Group__0__Impl_in_rule__MessageParam__Group__03464);
+ rule__MessageParam__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__MessageParam__Group__1_in_rule__MessageParam__Group__03467);
+ rule__MessageParam__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageParam__Group__0"
+
+
+ // $ANTLR start "rule__MessageParam__Group__0__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1743:1: rule__MessageParam__Group__0__Impl : ( ( rule__MessageParam__PredefinedAssignment_0 ) ) ;
+ public final void rule__MessageParam__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1747:1: ( ( ( rule__MessageParam__PredefinedAssignment_0 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1748:1: ( ( rule__MessageParam__PredefinedAssignment_0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1748:1: ( ( rule__MessageParam__PredefinedAssignment_0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1749:1: ( rule__MessageParam__PredefinedAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageParamAccess().getPredefinedAssignment_0());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1750:1: ( rule__MessageParam__PredefinedAssignment_0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1750:2: rule__MessageParam__PredefinedAssignment_0
+ {
+ pushFollow(FOLLOW_rule__MessageParam__PredefinedAssignment_0_in_rule__MessageParam__Group__0__Impl3494);
+ rule__MessageParam__PredefinedAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageParamAccess().getPredefinedAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageParam__Group__0__Impl"
+
+
+ // $ANTLR start "rule__MessageParam__Group__1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1760:1: rule__MessageParam__Group__1 : rule__MessageParam__Group__1__Impl ;
+ public final void rule__MessageParam__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1764:1: ( rule__MessageParam__Group__1__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1765:2: rule__MessageParam__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__MessageParam__Group__1__Impl_in_rule__MessageParam__Group__13524);
+ rule__MessageParam__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageParam__Group__1"
+
+
+ // $ANTLR start "rule__MessageParam__Group__1__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1771:1: rule__MessageParam__Group__1__Impl : ( ( rule__MessageParam__VarAssignment_1 ) ) ;
+ public final void rule__MessageParam__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1775:1: ( ( ( rule__MessageParam__VarAssignment_1 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1776:1: ( ( rule__MessageParam__VarAssignment_1 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1776:1: ( ( rule__MessageParam__VarAssignment_1 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1777:1: ( rule__MessageParam__VarAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageParamAccess().getVarAssignment_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1778:1: ( rule__MessageParam__VarAssignment_1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1778:2: rule__MessageParam__VarAssignment_1
+ {
+ pushFollow(FOLLOW_rule__MessageParam__VarAssignment_1_in_rule__MessageParam__Group__1__Impl3551);
+ rule__MessageParam__VarAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageParamAccess().getVarAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageParam__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Message__Group__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1792:1: rule__Message__Group__0 : rule__Message__Group__0__Impl rule__Message__Group__1 ;
+ public final void rule__Message__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1796:1: ( rule__Message__Group__0__Impl rule__Message__Group__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1797:2: rule__Message__Group__0__Impl rule__Message__Group__1
+ {
+ pushFollow(FOLLOW_rule__Message__Group__0__Impl_in_rule__Message__Group__03585);
+ rule__Message__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__Message__Group__1_in_rule__Message__Group__03588);
+ rule__Message__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Message__Group__0"
+
+
+ // $ANTLR start "rule__Message__Group__0__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1804:1: rule__Message__Group__0__Impl : ( ( rule__Message__NameAssignment_0 ) ) ;
+ public final void rule__Message__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1808:1: ( ( ( rule__Message__NameAssignment_0 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1809:1: ( ( rule__Message__NameAssignment_0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1809:1: ( ( rule__Message__NameAssignment_0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1810:1: ( rule__Message__NameAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageAccess().getNameAssignment_0());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1811:1: ( rule__Message__NameAssignment_0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1811:2: rule__Message__NameAssignment_0
+ {
+ pushFollow(FOLLOW_rule__Message__NameAssignment_0_in_rule__Message__Group__0__Impl3615);
+ rule__Message__NameAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageAccess().getNameAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Message__Group__0__Impl"
+
+
+ // $ANTLR start "rule__Message__Group__1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1821:1: rule__Message__Group__1 : rule__Message__Group__1__Impl rule__Message__Group__2 ;
+ public final void rule__Message__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1825:1: ( rule__Message__Group__1__Impl rule__Message__Group__2 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1826:2: rule__Message__Group__1__Impl rule__Message__Group__2
+ {
+ pushFollow(FOLLOW_rule__Message__Group__1__Impl_in_rule__Message__Group__13645);
+ rule__Message__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__Message__Group__2_in_rule__Message__Group__13648);
+ rule__Message__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Message__Group__1"
+
+
+ // $ANTLR start "rule__Message__Group__1__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1833:1: rule__Message__Group__1__Impl : ( ':' ) ;
+ public final void rule__Message__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1837:1: ( ( ':' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1838:1: ( ':' )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1838:1: ( ':' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1839:1: ':'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageAccess().getColonKeyword_1());
+ }
+ match(input,25,FOLLOW_25_in_rule__Message__Group__1__Impl3676); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageAccess().getColonKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Message__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Message__Group__2"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1852:1: rule__Message__Group__2 : rule__Message__Group__2__Impl ;
+ public final void rule__Message__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1856:1: ( rule__Message__Group__2__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1857:2: rule__Message__Group__2__Impl
+ {
+ pushFollow(FOLLOW_rule__Message__Group__2__Impl_in_rule__Message__Group__23707);
+ rule__Message__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Message__Group__2"
+
+
+ // $ANTLR start "rule__Message__Group__2__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1863:1: rule__Message__Group__2__Impl : ( ( rule__Message__MessageAssignment_2 ) ) ;
+ public final void rule__Message__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1867:1: ( ( ( rule__Message__MessageAssignment_2 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1868:1: ( ( rule__Message__MessageAssignment_2 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1868:1: ( ( rule__Message__MessageAssignment_2 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1869:1: ( rule__Message__MessageAssignment_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageAccess().getMessageAssignment_2());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1870:1: ( rule__Message__MessageAssignment_2 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1870:2: rule__Message__MessageAssignment_2
+ {
+ pushFollow(FOLLOW_rule__Message__MessageAssignment_2_in_rule__Message__Group__2__Impl3734);
+ rule__Message__MessageAssignment_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageAccess().getMessageAssignment_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Message__Group__2__Impl"
+
+
+ // $ANTLR start "rule__RichString__Group_1__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1886:1: rule__RichString__Group_1__0 : rule__RichString__Group_1__0__Impl rule__RichString__Group_1__1 ;
+ public final void rule__RichString__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1890:1: ( rule__RichString__Group_1__0__Impl rule__RichString__Group_1__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1891:2: rule__RichString__Group_1__0__Impl rule__RichString__Group_1__1
+ {
+ pushFollow(FOLLOW_rule__RichString__Group_1__0__Impl_in_rule__RichString__Group_1__03770);
+ rule__RichString__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__RichString__Group_1__1_in_rule__RichString__Group_1__03773);
+ rule__RichString__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichString__Group_1__0"
+
+
+ // $ANTLR start "rule__RichString__Group_1__0__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1898:1: rule__RichString__Group_1__0__Impl : ( ( rule__RichString__ExpressionsAssignment_1_0 ) ) ;
+ public final void rule__RichString__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1902:1: ( ( ( rule__RichString__ExpressionsAssignment_1_0 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1903:1: ( ( rule__RichString__ExpressionsAssignment_1_0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1903:1: ( ( rule__RichString__ExpressionsAssignment_1_0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1904:1: ( rule__RichString__ExpressionsAssignment_1_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_0());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1905:1: ( rule__RichString__ExpressionsAssignment_1_0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1905:2: rule__RichString__ExpressionsAssignment_1_0
+ {
+ pushFollow(FOLLOW_rule__RichString__ExpressionsAssignment_1_0_in_rule__RichString__Group_1__0__Impl3800);
+ rule__RichString__ExpressionsAssignment_1_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichString__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__RichString__Group_1__1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1915:1: rule__RichString__Group_1__1 : rule__RichString__Group_1__1__Impl rule__RichString__Group_1__2 ;
+ public final void rule__RichString__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1919:1: ( rule__RichString__Group_1__1__Impl rule__RichString__Group_1__2 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1920:2: rule__RichString__Group_1__1__Impl rule__RichString__Group_1__2
+ {
+ pushFollow(FOLLOW_rule__RichString__Group_1__1__Impl_in_rule__RichString__Group_1__13830);
+ rule__RichString__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__RichString__Group_1__2_in_rule__RichString__Group_1__13833);
+ rule__RichString__Group_1__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichString__Group_1__1"
+
+
+ // $ANTLR start "rule__RichString__Group_1__1__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1927:1: rule__RichString__Group_1__1__Impl : ( ( rule__RichString__ExpressionsAssignment_1_1 )? ) ;
+ public final void rule__RichString__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1931:1: ( ( ( rule__RichString__ExpressionsAssignment_1_1 )? ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1932:1: ( ( rule__RichString__ExpressionsAssignment_1_1 )? )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1932:1: ( ( rule__RichString__ExpressionsAssignment_1_1 )? )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1933:1: ( rule__RichString__ExpressionsAssignment_1_1 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1934:1: ( rule__RichString__ExpressionsAssignment_1_1 )?
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0==RULE_ID) ) {
+ alt11=1;
+ }
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1934:2: rule__RichString__ExpressionsAssignment_1_1
+ {
+ pushFollow(FOLLOW_rule__RichString__ExpressionsAssignment_1_1_in_rule__RichString__Group_1__1__Impl3860);
+ rule__RichString__ExpressionsAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichString__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__RichString__Group_1__2"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1944:1: rule__RichString__Group_1__2 : rule__RichString__Group_1__2__Impl rule__RichString__Group_1__3 ;
+ public final void rule__RichString__Group_1__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1948:1: ( rule__RichString__Group_1__2__Impl rule__RichString__Group_1__3 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1949:2: rule__RichString__Group_1__2__Impl rule__RichString__Group_1__3
+ {
+ pushFollow(FOLLOW_rule__RichString__Group_1__2__Impl_in_rule__RichString__Group_1__23891);
+ rule__RichString__Group_1__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__RichString__Group_1__3_in_rule__RichString__Group_1__23894);
+ rule__RichString__Group_1__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichString__Group_1__2"
+
+
+ // $ANTLR start "rule__RichString__Group_1__2__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1956:1: rule__RichString__Group_1__2__Impl : ( ( rule__RichString__Group_1_2__0 )* ) ;
+ public final void rule__RichString__Group_1__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1960:1: ( ( ( rule__RichString__Group_1_2__0 )* ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1961:1: ( ( rule__RichString__Group_1_2__0 )* )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1961:1: ( ( rule__RichString__Group_1_2__0 )* )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1962:1: ( rule__RichString__Group_1_2__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringAccess().getGroup_1_2());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1963:1: ( rule__RichString__Group_1_2__0 )*
+ loop12:
+ do {
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0==RULE_RICH_TEXT_INBETWEEN) ) {
+ alt12=1;
+ }
+
+
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1963:2: rule__RichString__Group_1_2__0
+ {
+ pushFollow(FOLLOW_rule__RichString__Group_1_2__0_in_rule__RichString__Group_1__2__Impl3921);
+ rule__RichString__Group_1_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop12;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringAccess().getGroup_1_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichString__Group_1__2__Impl"
+
+
+ // $ANTLR start "rule__RichString__Group_1__3"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1973:1: rule__RichString__Group_1__3 : rule__RichString__Group_1__3__Impl ;
+ public final void rule__RichString__Group_1__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1977:1: ( rule__RichString__Group_1__3__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1978:2: rule__RichString__Group_1__3__Impl
+ {
+ pushFollow(FOLLOW_rule__RichString__Group_1__3__Impl_in_rule__RichString__Group_1__33952);
+ rule__RichString__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__RichString__Group_1__3"
+
+
+ // $ANTLR start "rule__RichString__Group_1__3__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1984:1: rule__RichString__Group_1__3__Impl : ( ( rule__RichString__ExpressionsAssignment_1_3 ) ) ;
+ public final void rule__RichString__Group_1__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1988:1: ( ( ( rule__RichString__ExpressionsAssignment_1_3 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1989:1: ( ( rule__RichString__ExpressionsAssignment_1_3 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1989:1: ( ( rule__RichString__ExpressionsAssignment_1_3 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1990:1: ( rule__RichString__ExpressionsAssignment_1_3 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_3());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1991:1: ( rule__RichString__ExpressionsAssignment_1_3 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:1991:2: rule__RichString__ExpressionsAssignment_1_3
+ {
+ pushFollow(FOLLOW_rule__RichString__ExpressionsAssignment_1_3_in_rule__RichString__Group_1__3__Impl3979);
+ rule__RichString__ExpressionsAssignment_1_3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichString__Group_1__3__Impl"
+
+
+ // $ANTLR start "rule__RichString__Group_1_2__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2009:1: rule__RichString__Group_1_2__0 : rule__RichString__Group_1_2__0__Impl rule__RichString__Group_1_2__1 ;
+ public final void rule__RichString__Group_1_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2013:1: ( rule__RichString__Group_1_2__0__Impl rule__RichString__Group_1_2__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2014:2: rule__RichString__Group_1_2__0__Impl rule__RichString__Group_1_2__1
+ {
+ pushFollow(FOLLOW_rule__RichString__Group_1_2__0__Impl_in_rule__RichString__Group_1_2__04017);
+ rule__RichString__Group_1_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__RichString__Group_1_2__1_in_rule__RichString__Group_1_2__04020);
+ rule__RichString__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__RichString__Group_1_2__0"
+
+
+ // $ANTLR start "rule__RichString__Group_1_2__0__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2021:1: rule__RichString__Group_1_2__0__Impl : ( ( rule__RichString__ExpressionsAssignment_1_2_0 ) ) ;
+ public final void rule__RichString__Group_1_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2025:1: ( ( ( rule__RichString__ExpressionsAssignment_1_2_0 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2026:1: ( ( rule__RichString__ExpressionsAssignment_1_2_0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2026:1: ( ( rule__RichString__ExpressionsAssignment_1_2_0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2027:1: ( rule__RichString__ExpressionsAssignment_1_2_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_2_0());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2028:1: ( rule__RichString__ExpressionsAssignment_1_2_0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2028:2: rule__RichString__ExpressionsAssignment_1_2_0
+ {
+ pushFollow(FOLLOW_rule__RichString__ExpressionsAssignment_1_2_0_in_rule__RichString__Group_1_2__0__Impl4047);
+ rule__RichString__ExpressionsAssignment_1_2_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichString__Group_1_2__0__Impl"
+
+
+ // $ANTLR start "rule__RichString__Group_1_2__1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2038:1: rule__RichString__Group_1_2__1 : rule__RichString__Group_1_2__1__Impl ;
+ public final void rule__RichString__Group_1_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2042:1: ( rule__RichString__Group_1_2__1__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2043:2: rule__RichString__Group_1_2__1__Impl
+ {
+ pushFollow(FOLLOW_rule__RichString__Group_1_2__1__Impl_in_rule__RichString__Group_1_2__14077);
+ rule__RichString__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__RichString__Group_1_2__1"
+
+
+ // $ANTLR start "rule__RichString__Group_1_2__1__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2049:1: rule__RichString__Group_1_2__1__Impl : ( ( rule__RichString__ExpressionsAssignment_1_2_1 )? ) ;
+ public final void rule__RichString__Group_1_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2053:1: ( ( ( rule__RichString__ExpressionsAssignment_1_2_1 )? ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2054:1: ( ( rule__RichString__ExpressionsAssignment_1_2_1 )? )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2054:1: ( ( rule__RichString__ExpressionsAssignment_1_2_1 )? )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2055:1: ( rule__RichString__ExpressionsAssignment_1_2_1 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_2_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2056:1: ( rule__RichString__ExpressionsAssignment_1_2_1 )?
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0==RULE_ID) ) {
+ alt13=1;
+ }
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2056:2: rule__RichString__ExpressionsAssignment_1_2_1
+ {
+ pushFollow(FOLLOW_rule__RichString__ExpressionsAssignment_1_2_1_in_rule__RichString__Group_1_2__1__Impl4104);
+ rule__RichString__ExpressionsAssignment_1_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringAccess().getExpressionsAssignment_1_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichString__Group_1_2__1__Impl"
+
+
+ // $ANTLR start "rule__RichVarPart__Group__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2070:1: rule__RichVarPart__Group__0 : rule__RichVarPart__Group__0__Impl rule__RichVarPart__Group__1 ;
+ public final void rule__RichVarPart__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2074:1: ( rule__RichVarPart__Group__0__Impl rule__RichVarPart__Group__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2075:2: rule__RichVarPart__Group__0__Impl rule__RichVarPart__Group__1
+ {
+ pushFollow(FOLLOW_rule__RichVarPart__Group__0__Impl_in_rule__RichVarPart__Group__04139);
+ rule__RichVarPart__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__RichVarPart__Group__1_in_rule__RichVarPart__Group__04142);
+ rule__RichVarPart__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichVarPart__Group__0"
+
+
+ // $ANTLR start "rule__RichVarPart__Group__0__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2082:1: rule__RichVarPart__Group__0__Impl : ( ( rule__RichVarPart__KeyAssignment_0 ) ) ;
+ public final void rule__RichVarPart__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2086:1: ( ( ( rule__RichVarPart__KeyAssignment_0 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2087:1: ( ( rule__RichVarPart__KeyAssignment_0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2087:1: ( ( rule__RichVarPart__KeyAssignment_0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2088:1: ( rule__RichVarPart__KeyAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichVarPartAccess().getKeyAssignment_0());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2089:1: ( rule__RichVarPart__KeyAssignment_0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2089:2: rule__RichVarPart__KeyAssignment_0
+ {
+ pushFollow(FOLLOW_rule__RichVarPart__KeyAssignment_0_in_rule__RichVarPart__Group__0__Impl4169);
+ rule__RichVarPart__KeyAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichVarPartAccess().getKeyAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichVarPart__Group__0__Impl"
+
+
+ // $ANTLR start "rule__RichVarPart__Group__1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2099:1: rule__RichVarPart__Group__1 : rule__RichVarPart__Group__1__Impl ;
+ public final void rule__RichVarPart__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2103:1: ( rule__RichVarPart__Group__1__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2104:2: rule__RichVarPart__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__RichVarPart__Group__1__Impl_in_rule__RichVarPart__Group__14199);
+ rule__RichVarPart__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichVarPart__Group__1"
+
+
+ // $ANTLR start "rule__RichVarPart__Group__1__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2110:1: rule__RichVarPart__Group__1__Impl : ( ( rule__RichVarPart__Group_1__0 )? ) ;
+ public final void rule__RichVarPart__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2114:1: ( ( ( rule__RichVarPart__Group_1__0 )? ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2115:1: ( ( rule__RichVarPart__Group_1__0 )? )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2115:1: ( ( rule__RichVarPart__Group_1__0 )? )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2116:1: ( rule__RichVarPart__Group_1__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichVarPartAccess().getGroup_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2117:1: ( rule__RichVarPart__Group_1__0 )?
+ int alt14=2;
+ int LA14_0 = input.LA(1);
+
+ if ( (LA14_0==RULE_STRING) ) {
+ alt14=1;
+ }
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2117:2: rule__RichVarPart__Group_1__0
+ {
+ pushFollow(FOLLOW_rule__RichVarPart__Group_1__0_in_rule__RichVarPart__Group__1__Impl4226);
+ rule__RichVarPart__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichVarPartAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichVarPart__Group__1__Impl"
+
+
+ // $ANTLR start "rule__RichVarPart__Group_1__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2131:1: rule__RichVarPart__Group_1__0 : rule__RichVarPart__Group_1__0__Impl rule__RichVarPart__Group_1__1 ;
+ public final void rule__RichVarPart__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2135:1: ( rule__RichVarPart__Group_1__0__Impl rule__RichVarPart__Group_1__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2136:2: rule__RichVarPart__Group_1__0__Impl rule__RichVarPart__Group_1__1
+ {
+ pushFollow(FOLLOW_rule__RichVarPart__Group_1__0__Impl_in_rule__RichVarPart__Group_1__04261);
+ rule__RichVarPart__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__RichVarPart__Group_1__1_in_rule__RichVarPart__Group_1__04264);
+ rule__RichVarPart__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichVarPart__Group_1__0"
+
+
+ // $ANTLR start "rule__RichVarPart__Group_1__0__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2143:1: rule__RichVarPart__Group_1__0__Impl : ( ( rule__RichVarPart__FormatAssignment_1_0 ) ) ;
+ public final void rule__RichVarPart__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2147:1: ( ( ( rule__RichVarPart__FormatAssignment_1_0 ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2148:1: ( ( rule__RichVarPart__FormatAssignment_1_0 ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2148:1: ( ( rule__RichVarPart__FormatAssignment_1_0 ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2149:1: ( rule__RichVarPart__FormatAssignment_1_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichVarPartAccess().getFormatAssignment_1_0());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2150:1: ( rule__RichVarPart__FormatAssignment_1_0 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2150:2: rule__RichVarPart__FormatAssignment_1_0
+ {
+ pushFollow(FOLLOW_rule__RichVarPart__FormatAssignment_1_0_in_rule__RichVarPart__Group_1__0__Impl4291);
+ rule__RichVarPart__FormatAssignment_1_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichVarPartAccess().getFormatAssignment_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichVarPart__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__RichVarPart__Group_1__1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2160:1: rule__RichVarPart__Group_1__1 : rule__RichVarPart__Group_1__1__Impl ;
+ public final void rule__RichVarPart__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2164:1: ( rule__RichVarPart__Group_1__1__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2165:2: rule__RichVarPart__Group_1__1__Impl
+ {
+ pushFollow(FOLLOW_rule__RichVarPart__Group_1__1__Impl_in_rule__RichVarPart__Group_1__14321);
+ rule__RichVarPart__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__RichVarPart__Group_1__1"
+
+
+ // $ANTLR start "rule__RichVarPart__Group_1__1__Impl"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2171:1: rule__RichVarPart__Group_1__1__Impl : ( ( rule__RichVarPart__FormatterClassAssignment_1_1 )? ) ;
+ public final void rule__RichVarPart__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2175:1: ( ( ( rule__RichVarPart__FormatterClassAssignment_1_1 )? ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2176:1: ( ( rule__RichVarPart__FormatterClassAssignment_1_1 )? )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2176:1: ( ( rule__RichVarPart__FormatterClassAssignment_1_1 )? )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2177:1: ( rule__RichVarPart__FormatterClassAssignment_1_1 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichVarPartAccess().getFormatterClassAssignment_1_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2178:1: ( rule__RichVarPart__FormatterClassAssignment_1_1 )?
+ int alt15=2;
+ int LA15_0 = input.LA(1);
+
+ if ( (LA15_0==RULE_ID) ) {
+ alt15=1;
+ }
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2178:2: rule__RichVarPart__FormatterClassAssignment_1_1
+ {
+ pushFollow(FOLLOW_rule__RichVarPart__FormatterClassAssignment_1_1_in_rule__RichVarPart__Group_1__1__Impl4348);
+ rule__RichVarPart__FormatterClassAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichVarPartAccess().getFormatterClassAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichVarPart__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__QualifiedName__Group__0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2192: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 {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2196:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2197:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1
+ {
+ pushFollow(FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__04383);
+ rule__QualifiedName__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__04386);
+ 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"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2204:1: rule__QualifiedName__Group__0__Impl : ( ruleValidID ) ;
+ public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2208:1: ( ( ruleValidID ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2209:1: ( ruleValidID )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2209:1: ( ruleValidID )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2210:1: ruleValidID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0());
+ }
+ pushFollow(FOLLOW_ruleValidID_in_rule__QualifiedName__Group__0__Impl4413);
+ 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"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2221:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ;
+ public final void rule__QualifiedName__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2225:1: ( rule__QualifiedName__Group__1__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2226:2: rule__QualifiedName__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__14442);
+ 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"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2232: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 {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2236:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2237:1: ( ( rule__QualifiedName__Group_1__0 )* )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2237:1: ( ( rule__QualifiedName__Group_1__0 )* )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2238:1: ( rule__QualifiedName__Group_1__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameAccess().getGroup_1());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2239:1: ( rule__QualifiedName__Group_1__0 )*
+ loop16:
+ do {
+ int alt16=2;
+ int LA16_0 = input.LA(1);
+
+ if ( (LA16_0==31) ) {
+ alt16=1;
+ }
+
+
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2239:2: rule__QualifiedName__Group_1__0
+ {
+ pushFollow(FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl4469);
+ rule__QualifiedName__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop16;
+ }
+ } 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"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2253: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 {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2257:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2258:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
+ {
+ pushFollow(FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__04504);
+ rule__QualifiedName__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__04507);
+ 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"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2265:1: rule__QualifiedName__Group_1__0__Impl : ( ( '.' ) ) ;
+ public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2269:1: ( ( ( '.' ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2270:1: ( ( '.' ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2270:1: ( ( '.' ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2271:1: ( '.' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2272:1: ( '.' )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2273:2: '.'
+ {
+ match(input,31,FOLLOW_31_in_rule__QualifiedName__Group_1__0__Impl4536); 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"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2284: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 {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2288:1: ( rule__QualifiedName__Group_1__1__Impl )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2289:2: rule__QualifiedName__Group_1__1__Impl
+ {
+ pushFollow(FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__14568);
+ 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"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2295:1: rule__QualifiedName__Group_1__1__Impl : ( ruleValidID ) ;
+ public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2299:1: ( ( ruleValidID ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2300:1: ( ruleValidID )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2300:1: ( ruleValidID )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2301:1: ruleValidID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1());
+ }
+ pushFollow(FOLLOW_ruleValidID_in_rule__QualifiedName__Group_1__1__Impl4595);
+ 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__NLS__PackageAssignment_0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2317:1: rule__NLS__PackageAssignment_0 : ( rulePackageDeclaration ) ;
+ public final void rule__NLS__PackageAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2321:1: ( ( rulePackageDeclaration ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2322:1: ( rulePackageDeclaration )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2322:1: ( rulePackageDeclaration )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2323:1: rulePackageDeclaration
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSAccess().getPackagePackageDeclarationParserRuleCall_0_0());
+ }
+ pushFollow(FOLLOW_rulePackageDeclaration_in_rule__NLS__PackageAssignment_04633);
+ rulePackageDeclaration();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSAccess().getPackagePackageDeclarationParserRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLS__PackageAssignment_0"
+
+
+ // $ANTLR start "rule__NLS__BundleListAssignment_2"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2332:1: rule__NLS__BundleListAssignment_2 : ( ruleNLSBundle ) ;
+ public final void rule__NLS__BundleListAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2336:1: ( ( ruleNLSBundle ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2337:1: ( ruleNLSBundle )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2337:1: ( ruleNLSBundle )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2338:1: ruleNLSBundle
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSAccess().getBundleListNLSBundleParserRuleCall_2_0());
+ }
+ pushFollow(FOLLOW_ruleNLSBundle_in_rule__NLS__BundleListAssignment_24664);
+ ruleNLSBundle();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSAccess().getBundleListNLSBundleParserRuleCall_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLS__BundleListAssignment_2"
+
+
+ // $ANTLR start "rule__PackageDeclaration__NameAssignment_1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2347:1: rule__PackageDeclaration__NameAssignment_1 : ( ruleQualifiedName ) ;
+ public final void rule__PackageDeclaration__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2351:1: ( ( ruleQualifiedName ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2352:1: ( ruleQualifiedName )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2352:1: ( ruleQualifiedName )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2353:1: ruleQualifiedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPackageDeclarationAccess().getNameQualifiedNameParserRuleCall_1_0());
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_rule__PackageDeclaration__NameAssignment_14695);
+ ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPackageDeclarationAccess().getNameQualifiedNameParserRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PackageDeclaration__NameAssignment_1"
+
+
+ // $ANTLR start "rule__NLSBundle__NameAssignment_1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2362:1: rule__NLSBundle__NameAssignment_1 : ( RULE_ID ) ;
+ public final void rule__NLSBundle__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2366:1: ( ( RULE_ID ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2367:1: ( RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2367:1: ( RULE_ID )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2368:1: RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSBundleAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__NLSBundle__NameAssignment_14726); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSBundleAccess().getNameIDTerminalRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__NameAssignment_1"
+
+
+ // $ANTLR start "rule__NLSBundle__LangAssignment_3"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2377:1: rule__NLSBundle__LangAssignment_3 : ( RULE_ID ) ;
+ public final void rule__NLSBundle__LangAssignment_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2381:1: ( ( RULE_ID ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2382:1: ( RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2382:1: ( RULE_ID )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2383:1: RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSBundleAccess().getLangIDTerminalRuleCall_3_0());
+ }
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__NLSBundle__LangAssignment_34757); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSBundleAccess().getLangIDTerminalRuleCall_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__LangAssignment_3"
+
+
+ // $ANTLR start "rule__NLSBundle__FormatterListAssignment_5"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2392:1: rule__NLSBundle__FormatterListAssignment_5 : ( ruleNLSFormatter ) ;
+ public final void rule__NLSBundle__FormatterListAssignment_5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2396:1: ( ( ruleNLSFormatter ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2397:1: ( ruleNLSFormatter )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2397:1: ( ruleNLSFormatter )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2398:1: ruleNLSFormatter
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSBundleAccess().getFormatterListNLSFormatterParserRuleCall_5_0());
+ }
+ pushFollow(FOLLOW_ruleNLSFormatter_in_rule__NLSBundle__FormatterListAssignment_54788);
+ ruleNLSFormatter();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSBundleAccess().getFormatterListNLSFormatterParserRuleCall_5_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__FormatterListAssignment_5"
+
+
+ // $ANTLR start "rule__NLSBundle__MessageEntryListAssignment_6"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2407:1: rule__NLSBundle__MessageEntryListAssignment_6 : ( ruleMessageEntry ) ;
+ public final void rule__NLSBundle__MessageEntryListAssignment_6() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2411:1: ( ( ruleMessageEntry ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2412:1: ( ruleMessageEntry )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2412:1: ( ruleMessageEntry )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2413:1: ruleMessageEntry
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSBundleAccess().getMessageEntryListMessageEntryParserRuleCall_6_0());
+ }
+ pushFollow(FOLLOW_ruleMessageEntry_in_rule__NLSBundle__MessageEntryListAssignment_64819);
+ ruleMessageEntry();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSBundleAccess().getMessageEntryListMessageEntryParserRuleCall_6_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSBundle__MessageEntryListAssignment_6"
+
+
+ // $ANTLR start "rule__NLSFormatter__NameAssignment_1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2422:1: rule__NLSFormatter__NameAssignment_1 : ( RULE_ID ) ;
+ public final void rule__NLSFormatter__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2426:1: ( ( RULE_ID ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2427:1: ( RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2427:1: ( RULE_ID )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2428:1: RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSFormatterAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__NLSFormatter__NameAssignment_14850); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSFormatterAccess().getNameIDTerminalRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSFormatter__NameAssignment_1"
+
+
+ // $ANTLR start "rule__NLSFormatter__ClassRefAssignment_2"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2437:1: rule__NLSFormatter__ClassRefAssignment_2 : ( ruleQualifiedName ) ;
+ public final void rule__NLSFormatter__ClassRefAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2441:1: ( ( ruleQualifiedName ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2442:1: ( ruleQualifiedName )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2442:1: ( ruleQualifiedName )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2443:1: ruleQualifiedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNLSFormatterAccess().getClassRefQualifiedNameParserRuleCall_2_0());
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_rule__NLSFormatter__ClassRefAssignment_24881);
+ ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNLSFormatterAccess().getClassRefQualifiedNameParserRuleCall_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NLSFormatter__ClassRefAssignment_2"
+
+
+ // $ANTLR start "rule__MessageEntry__NameAssignment_0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2452:1: rule__MessageEntry__NameAssignment_0 : ( RULE_ID ) ;
+ public final void rule__MessageEntry__NameAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2456:1: ( ( RULE_ID ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2457:1: ( RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2457:1: ( RULE_ID )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2458:1: RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getNameIDTerminalRuleCall_0_0());
+ }
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__MessageEntry__NameAssignment_04912); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getNameIDTerminalRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__NameAssignment_0"
+
+
+ // $ANTLR start "rule__MessageEntry__ParamListAssignment_1_1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2467:1: rule__MessageEntry__ParamListAssignment_1_1 : ( ruleMessageParam ) ;
+ public final void rule__MessageEntry__ParamListAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2471:1: ( ( ruleMessageParam ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2472:1: ( ruleMessageParam )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2472:1: ( ruleMessageParam )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2473:1: ruleMessageParam
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getParamListMessageParamParserRuleCall_1_1_0());
+ }
+ pushFollow(FOLLOW_ruleMessageParam_in_rule__MessageEntry__ParamListAssignment_1_14943);
+ ruleMessageParam();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getParamListMessageParamParserRuleCall_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__ParamListAssignment_1_1"
+
+
+ // $ANTLR start "rule__MessageEntry__ParamListAssignment_1_2_1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2482:1: rule__MessageEntry__ParamListAssignment_1_2_1 : ( ruleMessageParam ) ;
+ public final void rule__MessageEntry__ParamListAssignment_1_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2486:1: ( ( ruleMessageParam ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2487:1: ( ruleMessageParam )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2487:1: ( ruleMessageParam )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2488:1: ruleMessageParam
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getParamListMessageParamParserRuleCall_1_2_1_0());
+ }
+ pushFollow(FOLLOW_ruleMessageParam_in_rule__MessageEntry__ParamListAssignment_1_2_14974);
+ ruleMessageParam();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getParamListMessageParamParserRuleCall_1_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__ParamListAssignment_1_2_1"
+
+
+ // $ANTLR start "rule__MessageEntry__MessageListAssignment_3_0_1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2497:1: rule__MessageEntry__MessageListAssignment_3_0_1 : ( ruleMessage ) ;
+ public final void rule__MessageEntry__MessageListAssignment_3_0_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2501:1: ( ( ruleMessage ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2502:1: ( ruleMessage )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2502:1: ( ruleMessage )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2503:1: ruleMessage
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getMessageListMessageParserRuleCall_3_0_1_0());
+ }
+ pushFollow(FOLLOW_ruleMessage_in_rule__MessageEntry__MessageListAssignment_3_0_15005);
+ ruleMessage();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getMessageListMessageParserRuleCall_3_0_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__MessageListAssignment_3_0_1"
+
+
+ // $ANTLR start "rule__MessageEntry__MessageListAssignment_3_0_2_1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2512:1: rule__MessageEntry__MessageListAssignment_3_0_2_1 : ( ruleMessage ) ;
+ public final void rule__MessageEntry__MessageListAssignment_3_0_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2516:1: ( ( ruleMessage ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2517:1: ( ruleMessage )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2517:1: ( ruleMessage )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2518:1: ruleMessage
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getMessageListMessageParserRuleCall_3_0_2_1_0());
+ }
+ pushFollow(FOLLOW_ruleMessage_in_rule__MessageEntry__MessageListAssignment_3_0_2_15036);
+ ruleMessage();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getMessageListMessageParserRuleCall_3_0_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__MessageListAssignment_3_0_2_1"
+
+
+ // $ANTLR start "rule__MessageEntry__EntryRefAssignment_3_1_1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2527:1: rule__MessageEntry__EntryRefAssignment_3_1_1 : ( ( ruleQualifiedName ) ) ;
+ public final void rule__MessageEntry__EntryRefAssignment_3_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2531:1: ( ( ( ruleQualifiedName ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2532:1: ( ( ruleQualifiedName ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2532:1: ( ( ruleQualifiedName ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2533:1: ( ruleQualifiedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getEntryRefMessageEntryCrossReference_3_1_1_0());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2534:1: ( ruleQualifiedName )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2535:1: ruleQualifiedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageEntryAccess().getEntryRefMessageEntryQualifiedNameParserRuleCall_3_1_1_0_1());
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_rule__MessageEntry__EntryRefAssignment_3_1_15071);
+ ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getEntryRefMessageEntryQualifiedNameParserRuleCall_3_1_1_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageEntryAccess().getEntryRefMessageEntryCrossReference_3_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageEntry__EntryRefAssignment_3_1_1"
+
+
+ // $ANTLR start "rule__MessageParam__PredefinedAssignment_0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2546:1: rule__MessageParam__PredefinedAssignment_0 : ( rulePredefinedTypes ) ;
+ public final void rule__MessageParam__PredefinedAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2550:1: ( ( rulePredefinedTypes ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2551:1: ( rulePredefinedTypes )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2551:1: ( rulePredefinedTypes )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2552:1: rulePredefinedTypes
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageParamAccess().getPredefinedPredefinedTypesEnumRuleCall_0_0());
+ }
+ pushFollow(FOLLOW_rulePredefinedTypes_in_rule__MessageParam__PredefinedAssignment_05106);
+ rulePredefinedTypes();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageParamAccess().getPredefinedPredefinedTypesEnumRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageParam__PredefinedAssignment_0"
+
+
+ // $ANTLR start "rule__MessageParam__VarAssignment_1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2561:1: rule__MessageParam__VarAssignment_1 : ( RULE_ID ) ;
+ public final void rule__MessageParam__VarAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2565:1: ( ( RULE_ID ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2566:1: ( RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2566:1: ( RULE_ID )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2567:1: RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageParamAccess().getVarIDTerminalRuleCall_1_0());
+ }
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__MessageParam__VarAssignment_15137); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageParamAccess().getVarIDTerminalRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MessageParam__VarAssignment_1"
+
+
+ // $ANTLR start "rule__Message__NameAssignment_0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2576:1: rule__Message__NameAssignment_0 : ( RULE_ID ) ;
+ public final void rule__Message__NameAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2580:1: ( ( RULE_ID ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2581:1: ( RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2581:1: ( RULE_ID )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2582:1: RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageAccess().getNameIDTerminalRuleCall_0_0());
+ }
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Message__NameAssignment_05168); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageAccess().getNameIDTerminalRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Message__NameAssignment_0"
+
+
+ // $ANTLR start "rule__Message__MessageAssignment_2"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2591:1: rule__Message__MessageAssignment_2 : ( ruleRichString ) ;
+ public final void rule__Message__MessageAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2595:1: ( ( ruleRichString ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2596:1: ( ruleRichString )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2596:1: ( ruleRichString )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2597:1: ruleRichString
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMessageAccess().getMessageRichStringParserRuleCall_2_0());
+ }
+ pushFollow(FOLLOW_ruleRichString_in_rule__Message__MessageAssignment_25199);
+ ruleRichString();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMessageAccess().getMessageRichStringParserRuleCall_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Message__MessageAssignment_2"
+
+
+ // $ANTLR start "rule__RichString__ExpressionsAssignment_0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2606:1: rule__RichString__ExpressionsAssignment_0 : ( ruleRichStringLiteral ) ;
+ public final void rule__RichString__ExpressionsAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2610:1: ( ( ruleRichStringLiteral ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2611:1: ( ruleRichStringLiteral )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2611:1: ( ruleRichStringLiteral )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2612:1: ruleRichStringLiteral
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralParserRuleCall_0_0());
+ }
+ pushFollow(FOLLOW_ruleRichStringLiteral_in_rule__RichString__ExpressionsAssignment_05230);
+ ruleRichStringLiteral();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralParserRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichString__ExpressionsAssignment_0"
+
+
+ // $ANTLR start "rule__RichString__ExpressionsAssignment_1_0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2621:1: rule__RichString__ExpressionsAssignment_1_0 : ( ruleRichStringLiteralStart ) ;
+ public final void rule__RichString__ExpressionsAssignment_1_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2625:1: ( ( ruleRichStringLiteralStart ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2626:1: ( ruleRichStringLiteralStart )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2626:1: ( ruleRichStringLiteralStart )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2627:1: ruleRichStringLiteralStart
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralStartParserRuleCall_1_0_0());
+ }
+ pushFollow(FOLLOW_ruleRichStringLiteralStart_in_rule__RichString__ExpressionsAssignment_1_05261);
+ ruleRichStringLiteralStart();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralStartParserRuleCall_1_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichString__ExpressionsAssignment_1_0"
+
+
+ // $ANTLR start "rule__RichString__ExpressionsAssignment_1_1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2636:1: rule__RichString__ExpressionsAssignment_1_1 : ( ruleRichVarPart ) ;
+ public final void rule__RichString__ExpressionsAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2640:1: ( ( ruleRichVarPart ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2641:1: ( ruleRichVarPart )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2641:1: ( ruleRichVarPart )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2642:1: ruleRichVarPart
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringAccess().getExpressionsRichVarPartParserRuleCall_1_1_0());
+ }
+ pushFollow(FOLLOW_ruleRichVarPart_in_rule__RichString__ExpressionsAssignment_1_15292);
+ ruleRichVarPart();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringAccess().getExpressionsRichVarPartParserRuleCall_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichString__ExpressionsAssignment_1_1"
+
+
+ // $ANTLR start "rule__RichString__ExpressionsAssignment_1_2_0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2651:1: rule__RichString__ExpressionsAssignment_1_2_0 : ( ruleRichStringLiteralInbetween ) ;
+ public final void rule__RichString__ExpressionsAssignment_1_2_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2655:1: ( ( ruleRichStringLiteralInbetween ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2656:1: ( ruleRichStringLiteralInbetween )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2656:1: ( ruleRichStringLiteralInbetween )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2657:1: ruleRichStringLiteralInbetween
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralInbetweenParserRuleCall_1_2_0_0());
+ }
+ pushFollow(FOLLOW_ruleRichStringLiteralInbetween_in_rule__RichString__ExpressionsAssignment_1_2_05323);
+ ruleRichStringLiteralInbetween();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralInbetweenParserRuleCall_1_2_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichString__ExpressionsAssignment_1_2_0"
+
+
+ // $ANTLR start "rule__RichString__ExpressionsAssignment_1_2_1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2666:1: rule__RichString__ExpressionsAssignment_1_2_1 : ( ruleRichVarPart ) ;
+ public final void rule__RichString__ExpressionsAssignment_1_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2670:1: ( ( ruleRichVarPart ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2671:1: ( ruleRichVarPart )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2671:1: ( ruleRichVarPart )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2672:1: ruleRichVarPart
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringAccess().getExpressionsRichVarPartParserRuleCall_1_2_1_0());
+ }
+ pushFollow(FOLLOW_ruleRichVarPart_in_rule__RichString__ExpressionsAssignment_1_2_15354);
+ ruleRichVarPart();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringAccess().getExpressionsRichVarPartParserRuleCall_1_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichString__ExpressionsAssignment_1_2_1"
+
+
+ // $ANTLR start "rule__RichString__ExpressionsAssignment_1_3"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2681:1: rule__RichString__ExpressionsAssignment_1_3 : ( ruleRichStringLiteralEnd ) ;
+ public final void rule__RichString__ExpressionsAssignment_1_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2685:1: ( ( ruleRichStringLiteralEnd ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2686:1: ( ruleRichStringLiteralEnd )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2686:1: ( ruleRichStringLiteralEnd )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2687:1: ruleRichStringLiteralEnd
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralEndParserRuleCall_1_3_0());
+ }
+ pushFollow(FOLLOW_ruleRichStringLiteralEnd_in_rule__RichString__ExpressionsAssignment_1_35385);
+ ruleRichStringLiteralEnd();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralEndParserRuleCall_1_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichString__ExpressionsAssignment_1_3"
+
+
+ // $ANTLR start "rule__RichStringLiteral__ValueAssignment"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2696:1: rule__RichStringLiteral__ValueAssignment : ( RULE_RICH_TEXT ) ;
+ public final void rule__RichStringLiteral__ValueAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2700:1: ( ( RULE_RICH_TEXT ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2701:1: ( RULE_RICH_TEXT )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2701:1: ( RULE_RICH_TEXT )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2702:1: RULE_RICH_TEXT
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringLiteralAccess().getValueRICH_TEXTTerminalRuleCall_0());
+ }
+ match(input,RULE_RICH_TEXT,FOLLOW_RULE_RICH_TEXT_in_rule__RichStringLiteral__ValueAssignment5416); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringLiteralAccess().getValueRICH_TEXTTerminalRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichStringLiteral__ValueAssignment"
+
+
+ // $ANTLR start "rule__RichStringLiteralStart__ValueAssignment"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2711:1: rule__RichStringLiteralStart__ValueAssignment : ( RULE_RICH_TEXT_START ) ;
+ public final void rule__RichStringLiteralStart__ValueAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2715:1: ( ( RULE_RICH_TEXT_START ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2716:1: ( RULE_RICH_TEXT_START )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2716:1: ( RULE_RICH_TEXT_START )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2717:1: RULE_RICH_TEXT_START
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringLiteralStartAccess().getValueRICH_TEXT_STARTTerminalRuleCall_0());
+ }
+ match(input,RULE_RICH_TEXT_START,FOLLOW_RULE_RICH_TEXT_START_in_rule__RichStringLiteralStart__ValueAssignment5447); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringLiteralStartAccess().getValueRICH_TEXT_STARTTerminalRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichStringLiteralStart__ValueAssignment"
+
+
+ // $ANTLR start "rule__RichStringLiteralEnd__ValueAssignment"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2726:1: rule__RichStringLiteralEnd__ValueAssignment : ( RULE_RICH_TEXT_END ) ;
+ public final void rule__RichStringLiteralEnd__ValueAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2730:1: ( ( RULE_RICH_TEXT_END ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2731:1: ( RULE_RICH_TEXT_END )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2731:1: ( RULE_RICH_TEXT_END )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2732:1: RULE_RICH_TEXT_END
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringLiteralEndAccess().getValueRICH_TEXT_ENDTerminalRuleCall_0());
+ }
+ match(input,RULE_RICH_TEXT_END,FOLLOW_RULE_RICH_TEXT_END_in_rule__RichStringLiteralEnd__ValueAssignment5478); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringLiteralEndAccess().getValueRICH_TEXT_ENDTerminalRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichStringLiteralEnd__ValueAssignment"
+
+
+ // $ANTLR start "rule__RichStringLiteralInbetween__ValueAssignment"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2741:1: rule__RichStringLiteralInbetween__ValueAssignment : ( RULE_RICH_TEXT_INBETWEEN ) ;
+ public final void rule__RichStringLiteralInbetween__ValueAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2745:1: ( ( RULE_RICH_TEXT_INBETWEEN ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2746:1: ( RULE_RICH_TEXT_INBETWEEN )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2746:1: ( RULE_RICH_TEXT_INBETWEEN )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2747:1: RULE_RICH_TEXT_INBETWEEN
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichStringLiteralInbetweenAccess().getValueRICH_TEXT_INBETWEENTerminalRuleCall_0());
+ }
+ match(input,RULE_RICH_TEXT_INBETWEEN,FOLLOW_RULE_RICH_TEXT_INBETWEEN_in_rule__RichStringLiteralInbetween__ValueAssignment5509); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichStringLiteralInbetweenAccess().getValueRICH_TEXT_INBETWEENTerminalRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichStringLiteralInbetween__ValueAssignment"
+
+
+ // $ANTLR start "rule__RichVarPart__KeyAssignment_0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2756:1: rule__RichVarPart__KeyAssignment_0 : ( RULE_ID ) ;
+ public final void rule__RichVarPart__KeyAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2760:1: ( ( RULE_ID ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2761:1: ( RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2761:1: ( RULE_ID )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2762:1: RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichVarPartAccess().getKeyIDTerminalRuleCall_0_0());
+ }
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RichVarPart__KeyAssignment_05540); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichVarPartAccess().getKeyIDTerminalRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichVarPart__KeyAssignment_0"
+
+
+ // $ANTLR start "rule__RichVarPart__FormatAssignment_1_0"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2771:1: rule__RichVarPart__FormatAssignment_1_0 : ( RULE_STRING ) ;
+ public final void rule__RichVarPart__FormatAssignment_1_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2775:1: ( ( RULE_STRING ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2776:1: ( RULE_STRING )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2776:1: ( RULE_STRING )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2777:1: RULE_STRING
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichVarPartAccess().getFormatSTRINGTerminalRuleCall_1_0_0());
+ }
+ match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__RichVarPart__FormatAssignment_1_05571); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichVarPartAccess().getFormatSTRINGTerminalRuleCall_1_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichVarPart__FormatAssignment_1_0"
+
+
+ // $ANTLR start "rule__RichVarPart__FormatterClassAssignment_1_1"
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2786:1: rule__RichVarPart__FormatterClassAssignment_1_1 : ( ( ruleQualifiedName ) ) ;
+ public final void rule__RichVarPart__FormatterClassAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2790:1: ( ( ( ruleQualifiedName ) ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2791:1: ( ( ruleQualifiedName ) )
+ {
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2791:1: ( ( ruleQualifiedName ) )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2792:1: ( ruleQualifiedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichVarPartAccess().getFormatterClassNLSFormatterCrossReference_1_1_0());
+ }
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2793:1: ( ruleQualifiedName )
+ // ../org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/contentassist/antlr/internal/InternalNLSDsl.g:2794:1: ruleQualifiedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRichVarPartAccess().getFormatterClassNLSFormatterQualifiedNameParserRuleCall_1_1_0_1());
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_rule__RichVarPart__FormatterClassAssignment_1_15606);
+ ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichVarPartAccess().getFormatterClassNLSFormatterQualifiedNameParserRuleCall_1_1_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRichVarPartAccess().getFormatterClassNLSFormatterCrossReference_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RichVarPart__FormatterClassAssignment_1_1"
+
+ // Delegated rules
+
+
+
+
+ public static final BitSet FOLLOW_ruleNLS_in_entryRuleNLS67 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNLS74 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLS__Group__0_in_ruleNLS100 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePackageDeclaration_in_entryRulePackageDeclaration127 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePackageDeclaration134 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PackageDeclaration__Group__0_in_rulePackageDeclaration160 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNLSBundle_in_entryRuleNLSBundle187 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNLSBundle194 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSBundle__Group__0_in_ruleNLSBundle220 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNLSFormatter_in_entryRuleNLSFormatter247 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNLSFormatter254 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSFormatter__Group__0_in_ruleNLSFormatter280 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMessageEntry_in_entryRuleMessageEntry307 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleMessageEntry314 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group__0_in_ruleMessageEntry340 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMessageParam_in_entryRuleMessageParam367 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleMessageParam374 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageParam__Group__0_in_ruleMessageParam400 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMessage_in_entryRuleMessage427 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleMessage434 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Message__Group__0_in_ruleMessage460 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichString_in_entryRuleRichString487 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRichString494 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichString__Alternatives_in_ruleRichString520 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichStringLiteral_in_entryRuleRichStringLiteral547 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRichStringLiteral554 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichStringLiteral__ValueAssignment_in_ruleRichStringLiteral580 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichStringLiteralStart_in_entryRuleRichStringLiteralStart607 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRichStringLiteralStart614 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichStringLiteralStart__ValueAssignment_in_ruleRichStringLiteralStart640 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichStringLiteralEnd_in_entryRuleRichStringLiteralEnd667 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRichStringLiteralEnd674 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichStringLiteralEnd__ValueAssignment_in_ruleRichStringLiteralEnd700 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichStringLiteralInbetween_in_entryRuleRichStringLiteralInbetween727 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRichStringLiteralInbetween734 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichStringLiteralInbetween__ValueAssignment_in_ruleRichStringLiteralInbetween760 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichVarPart_in_entryRuleRichVarPart787 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRichVarPart794 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichVarPart__Group__0_in_ruleRichVarPart820 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleValidID_in_entryRuleValidID847 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleValidID854 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleValidID880 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName906 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName913 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName939 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PredefinedTypes__Alternatives_in_rulePredefinedTypes976 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_0__0_in_rule__MessageEntry__Alternatives_31011 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_1__0_in_rule__MessageEntry__Alternatives_31029 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichString__ExpressionsAssignment_0_in_rule__RichString__Alternatives1062 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichString__Group_1__0_in_rule__RichString__Alternatives1080 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_16_in_rule__PredefinedTypes__Alternatives1114 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rule__PredefinedTypes__Alternatives1135 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_18_in_rule__PredefinedTypes__Alternatives1156 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLS__Group__0__Impl_in_rule__NLS__Group__01189 = new BitSet(new long[]{0x0000000000080000L});
+ public static final BitSet FOLLOW_rule__NLS__Group__1_in_rule__NLS__Group__01192 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLS__PackageAssignment_0_in_rule__NLS__Group__0__Impl1219 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLS__Group__1__Impl_in_rule__NLS__Group__11250 = new BitSet(new long[]{0x0000000000400000L});
+ public static final BitSet FOLLOW_rule__NLS__Group__2_in_rule__NLS__Group__11253 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_rule__NLS__Group__1__Impl1281 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLS__Group__2__Impl_in_rule__NLS__Group__21312 = new BitSet(new long[]{0x0000000000100000L});
+ public static final BitSet FOLLOW_rule__NLS__Group__3_in_rule__NLS__Group__21315 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLS__BundleListAssignment_2_in_rule__NLS__Group__2__Impl1344 = new BitSet(new long[]{0x0000000000400002L});
+ public static final BitSet FOLLOW_rule__NLS__BundleListAssignment_2_in_rule__NLS__Group__2__Impl1356 = new BitSet(new long[]{0x0000000000400002L});
+ public static final BitSet FOLLOW_rule__NLS__Group__3__Impl_in_rule__NLS__Group__31389 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_20_in_rule__NLS__Group__3__Impl1417 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PackageDeclaration__Group__0__Impl_in_rule__PackageDeclaration__Group__01456 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__PackageDeclaration__Group__1_in_rule__PackageDeclaration__Group__01459 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_21_in_rule__PackageDeclaration__Group__0__Impl1487 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PackageDeclaration__Group__1__Impl_in_rule__PackageDeclaration__Group__11518 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PackageDeclaration__NameAssignment_1_in_rule__PackageDeclaration__Group__1__Impl1545 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSBundle__Group__0__Impl_in_rule__NLSBundle__Group__01579 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__NLSBundle__Group__1_in_rule__NLSBundle__Group__01582 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_22_in_rule__NLSBundle__Group__0__Impl1610 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSBundle__Group__1__Impl_in_rule__NLSBundle__Group__11641 = new BitSet(new long[]{0x0000000000800000L});
+ public static final BitSet FOLLOW_rule__NLSBundle__Group__2_in_rule__NLSBundle__Group__11644 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSBundle__NameAssignment_1_in_rule__NLSBundle__Group__1__Impl1671 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSBundle__Group__2__Impl_in_rule__NLSBundle__Group__21701 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__NLSBundle__Group__3_in_rule__NLSBundle__Group__21704 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_23_in_rule__NLSBundle__Group__2__Impl1732 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSBundle__Group__3__Impl_in_rule__NLSBundle__Group__31763 = new BitSet(new long[]{0x0000000000080000L});
+ public static final BitSet FOLLOW_rule__NLSBundle__Group__4_in_rule__NLSBundle__Group__31766 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSBundle__LangAssignment_3_in_rule__NLSBundle__Group__3__Impl1793 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSBundle__Group__4__Impl_in_rule__NLSBundle__Group__41823 = new BitSet(new long[]{0x0000000001000010L});
+ public static final BitSet FOLLOW_rule__NLSBundle__Group__5_in_rule__NLSBundle__Group__41826 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_rule__NLSBundle__Group__4__Impl1854 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSBundle__Group__5__Impl_in_rule__NLSBundle__Group__51885 = new BitSet(new long[]{0x0000000001000010L});
+ public static final BitSet FOLLOW_rule__NLSBundle__Group__6_in_rule__NLSBundle__Group__51888 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSBundle__FormatterListAssignment_5_in_rule__NLSBundle__Group__5__Impl1915 = new BitSet(new long[]{0x0000000001000002L});
+ public static final BitSet FOLLOW_rule__NLSBundle__Group__6__Impl_in_rule__NLSBundle__Group__61946 = new BitSet(new long[]{0x0000000000100000L});
+ public static final BitSet FOLLOW_rule__NLSBundle__Group__7_in_rule__NLSBundle__Group__61949 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSBundle__MessageEntryListAssignment_6_in_rule__NLSBundle__Group__6__Impl1978 = new BitSet(new long[]{0x0000000001000012L});
+ public static final BitSet FOLLOW_rule__NLSBundle__MessageEntryListAssignment_6_in_rule__NLSBundle__Group__6__Impl1990 = new BitSet(new long[]{0x0000000001000012L});
+ public static final BitSet FOLLOW_rule__NLSBundle__Group__7__Impl_in_rule__NLSBundle__Group__72023 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_20_in_rule__NLSBundle__Group__7__Impl2051 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSFormatter__Group__0__Impl_in_rule__NLSFormatter__Group__02098 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__NLSFormatter__Group__1_in_rule__NLSFormatter__Group__02101 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_rule__NLSFormatter__Group__0__Impl2129 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSFormatter__Group__1__Impl_in_rule__NLSFormatter__Group__12160 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__NLSFormatter__Group__2_in_rule__NLSFormatter__Group__12163 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSFormatter__NameAssignment_1_in_rule__NLSFormatter__Group__1__Impl2190 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSFormatter__Group__2__Impl_in_rule__NLSFormatter__Group__22220 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NLSFormatter__ClassRefAssignment_2_in_rule__NLSFormatter__Group__2__Impl2247 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group__0__Impl_in_rule__MessageEntry__Group__02283 = new BitSet(new long[]{0x0000000006000000L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group__1_in_rule__MessageEntry__Group__02286 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__NameAssignment_0_in_rule__MessageEntry__Group__0__Impl2313 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group__1__Impl_in_rule__MessageEntry__Group__12343 = new BitSet(new long[]{0x0000000006000000L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group__2_in_rule__MessageEntry__Group__12346 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_1__0_in_rule__MessageEntry__Group__1__Impl2373 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group__2__Impl_in_rule__MessageEntry__Group__22404 = new BitSet(new long[]{0x0000000020080000L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group__3_in_rule__MessageEntry__Group__22407 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_25_in_rule__MessageEntry__Group__2__Impl2435 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group__3__Impl_in_rule__MessageEntry__Group__32466 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Alternatives_3_in_rule__MessageEntry__Group__3__Impl2493 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_1__0__Impl_in_rule__MessageEntry__Group_1__02531 = new BitSet(new long[]{0x0000000000070000L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_1__1_in_rule__MessageEntry__Group_1__02534 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_26_in_rule__MessageEntry__Group_1__0__Impl2562 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_1__1__Impl_in_rule__MessageEntry__Group_1__12593 = new BitSet(new long[]{0x0000000018000000L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_1__2_in_rule__MessageEntry__Group_1__12596 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__ParamListAssignment_1_1_in_rule__MessageEntry__Group_1__1__Impl2623 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_1__2__Impl_in_rule__MessageEntry__Group_1__22653 = new BitSet(new long[]{0x0000000018000000L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_1__3_in_rule__MessageEntry__Group_1__22656 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_1_2__0_in_rule__MessageEntry__Group_1__2__Impl2683 = new BitSet(new long[]{0x0000000010000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_1__3__Impl_in_rule__MessageEntry__Group_1__32714 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_27_in_rule__MessageEntry__Group_1__3__Impl2742 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_1_2__0__Impl_in_rule__MessageEntry__Group_1_2__02781 = new BitSet(new long[]{0x0000000000070000L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_1_2__1_in_rule__MessageEntry__Group_1_2__02784 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_28_in_rule__MessageEntry__Group_1_2__0__Impl2812 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_1_2__1__Impl_in_rule__MessageEntry__Group_1_2__12843 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__ParamListAssignment_1_2_1_in_rule__MessageEntry__Group_1_2__1__Impl2870 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_0__0__Impl_in_rule__MessageEntry__Group_3_0__02904 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_0__1_in_rule__MessageEntry__Group_3_0__02907 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_rule__MessageEntry__Group_3_0__0__Impl2935 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_0__1__Impl_in_rule__MessageEntry__Group_3_0__12966 = new BitSet(new long[]{0x0000000010100000L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_0__2_in_rule__MessageEntry__Group_3_0__12969 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__MessageListAssignment_3_0_1_in_rule__MessageEntry__Group_3_0__1__Impl2996 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_0__2__Impl_in_rule__MessageEntry__Group_3_0__23026 = new BitSet(new long[]{0x0000000010100000L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_0__3_in_rule__MessageEntry__Group_3_0__23029 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_0_2__0_in_rule__MessageEntry__Group_3_0__2__Impl3056 = new BitSet(new long[]{0x0000000010000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_0__3__Impl_in_rule__MessageEntry__Group_3_0__33087 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_20_in_rule__MessageEntry__Group_3_0__3__Impl3115 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_0_2__0__Impl_in_rule__MessageEntry__Group_3_0_2__03154 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_0_2__1_in_rule__MessageEntry__Group_3_0_2__03157 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_28_in_rule__MessageEntry__Group_3_0_2__0__Impl3185 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_0_2__1__Impl_in_rule__MessageEntry__Group_3_0_2__13216 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__MessageListAssignment_3_0_2_1_in_rule__MessageEntry__Group_3_0_2__1__Impl3243 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_1__0__Impl_in_rule__MessageEntry__Group_3_1__03277 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_1__1_in_rule__MessageEntry__Group_3_1__03280 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_29_in_rule__MessageEntry__Group_3_1__0__Impl3308 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_1__1__Impl_in_rule__MessageEntry__Group_3_1__13339 = new BitSet(new long[]{0x0000000040000000L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_1__2_in_rule__MessageEntry__Group_3_1__13342 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__EntryRefAssignment_3_1_1_in_rule__MessageEntry__Group_3_1__1__Impl3369 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageEntry__Group_3_1__2__Impl_in_rule__MessageEntry__Group_3_1__23399 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_30_in_rule__MessageEntry__Group_3_1__2__Impl3427 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageParam__Group__0__Impl_in_rule__MessageParam__Group__03464 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__MessageParam__Group__1_in_rule__MessageParam__Group__03467 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageParam__PredefinedAssignment_0_in_rule__MessageParam__Group__0__Impl3494 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageParam__Group__1__Impl_in_rule__MessageParam__Group__13524 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MessageParam__VarAssignment_1_in_rule__MessageParam__Group__1__Impl3551 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Message__Group__0__Impl_in_rule__Message__Group__03585 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_rule__Message__Group__1_in_rule__Message__Group__03588 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Message__NameAssignment_0_in_rule__Message__Group__0__Impl3615 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Message__Group__1__Impl_in_rule__Message__Group__13645 = new BitSet(new long[]{0x0000000000000060L});
+ public static final BitSet FOLLOW_rule__Message__Group__2_in_rule__Message__Group__13648 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_25_in_rule__Message__Group__1__Impl3676 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Message__Group__2__Impl_in_rule__Message__Group__23707 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Message__MessageAssignment_2_in_rule__Message__Group__2__Impl3734 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichString__Group_1__0__Impl_in_rule__RichString__Group_1__03770 = new BitSet(new long[]{0x0000000000000190L});
+ public static final BitSet FOLLOW_rule__RichString__Group_1__1_in_rule__RichString__Group_1__03773 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichString__ExpressionsAssignment_1_0_in_rule__RichString__Group_1__0__Impl3800 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichString__Group_1__1__Impl_in_rule__RichString__Group_1__13830 = new BitSet(new long[]{0x0000000000000190L});
+ public static final BitSet FOLLOW_rule__RichString__Group_1__2_in_rule__RichString__Group_1__13833 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichString__ExpressionsAssignment_1_1_in_rule__RichString__Group_1__1__Impl3860 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichString__Group_1__2__Impl_in_rule__RichString__Group_1__23891 = new BitSet(new long[]{0x0000000000000190L});
+ public static final BitSet FOLLOW_rule__RichString__Group_1__3_in_rule__RichString__Group_1__23894 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichString__Group_1_2__0_in_rule__RichString__Group_1__2__Impl3921 = new BitSet(new long[]{0x0000000000000102L});
+ public static final BitSet FOLLOW_rule__RichString__Group_1__3__Impl_in_rule__RichString__Group_1__33952 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichString__ExpressionsAssignment_1_3_in_rule__RichString__Group_1__3__Impl3979 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichString__Group_1_2__0__Impl_in_rule__RichString__Group_1_2__04017 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__RichString__Group_1_2__1_in_rule__RichString__Group_1_2__04020 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichString__ExpressionsAssignment_1_2_0_in_rule__RichString__Group_1_2__0__Impl4047 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichString__Group_1_2__1__Impl_in_rule__RichString__Group_1_2__14077 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichString__ExpressionsAssignment_1_2_1_in_rule__RichString__Group_1_2__1__Impl4104 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichVarPart__Group__0__Impl_in_rule__RichVarPart__Group__04139 = new BitSet(new long[]{0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__RichVarPart__Group__1_in_rule__RichVarPart__Group__04142 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichVarPart__KeyAssignment_0_in_rule__RichVarPart__Group__0__Impl4169 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichVarPart__Group__1__Impl_in_rule__RichVarPart__Group__14199 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichVarPart__Group_1__0_in_rule__RichVarPart__Group__1__Impl4226 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichVarPart__Group_1__0__Impl_in_rule__RichVarPart__Group_1__04261 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__RichVarPart__Group_1__1_in_rule__RichVarPart__Group_1__04264 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichVarPart__FormatAssignment_1_0_in_rule__RichVarPart__Group_1__0__Impl4291 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichVarPart__Group_1__1__Impl_in_rule__RichVarPart__Group_1__14321 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RichVarPart__FormatterClassAssignment_1_1_in_rule__RichVarPart__Group_1__1__Impl4348 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__04383 = new BitSet(new long[]{0x0000000080000000L});
+ public static final BitSet FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__04386 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleValidID_in_rule__QualifiedName__Group__0__Impl4413 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__14442 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl4469 = new BitSet(new long[]{0x0000000080000002L});
+ public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__04504 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__04507 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_31_in_rule__QualifiedName__Group_1__0__Impl4536 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__14568 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleValidID_in_rule__QualifiedName__Group_1__1__Impl4595 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePackageDeclaration_in_rule__NLS__PackageAssignment_04633 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNLSBundle_in_rule__NLS__BundleListAssignment_24664 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_rule__PackageDeclaration__NameAssignment_14695 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__NLSBundle__NameAssignment_14726 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__NLSBundle__LangAssignment_34757 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNLSFormatter_in_rule__NLSBundle__FormatterListAssignment_54788 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMessageEntry_in_rule__NLSBundle__MessageEntryListAssignment_64819 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__NLSFormatter__NameAssignment_14850 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_rule__NLSFormatter__ClassRefAssignment_24881 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__MessageEntry__NameAssignment_04912 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMessageParam_in_rule__MessageEntry__ParamListAssignment_1_14943 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMessageParam_in_rule__MessageEntry__ParamListAssignment_1_2_14974 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMessage_in_rule__MessageEntry__MessageListAssignment_3_0_15005 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMessage_in_rule__MessageEntry__MessageListAssignment_3_0_2_15036 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_rule__MessageEntry__EntryRefAssignment_3_1_15071 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePredefinedTypes_in_rule__MessageParam__PredefinedAssignment_05106 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__MessageParam__VarAssignment_15137 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__Message__NameAssignment_05168 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichString_in_rule__Message__MessageAssignment_25199 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichStringLiteral_in_rule__RichString__ExpressionsAssignment_05230 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichStringLiteralStart_in_rule__RichString__ExpressionsAssignment_1_05261 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichVarPart_in_rule__RichString__ExpressionsAssignment_1_15292 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichStringLiteralInbetween_in_rule__RichString__ExpressionsAssignment_1_2_05323 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichVarPart_in_rule__RichString__ExpressionsAssignment_1_2_15354 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichStringLiteralEnd_in_rule__RichString__ExpressionsAssignment_1_35385 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_RICH_TEXT_in_rule__RichStringLiteral__ValueAssignment5416 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_RICH_TEXT_START_in_rule__RichStringLiteralStart__ValueAssignment5447 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_RICH_TEXT_END_in_rule__RichStringLiteralEnd__ValueAssignment5478 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_RICH_TEXT_INBETWEEN_in_rule__RichStringLiteralInbetween__ValueAssignment5509 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__RichVarPart__KeyAssignment_05540 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_STRING_in_rule__RichVarPart__FormatAssignment_1_05571 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_rule__RichVarPart__FormatterClassAssignment_1_15606 = new BitSet(new long[]{0x0000000000000002L});
+
+} \ No newline at end of file
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/internal/NLSDslActivator.java b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/internal/NLSDslActivator.java
new file mode 100644
index 000000000..28ce7ebfb
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src-gen/org/eclipse/fx/ide/l10n/ui/internal/NLSDslActivator.java
@@ -0,0 +1,95 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.l10n.ui.internal;
+
+import java.util.Collections;
+import java.util.Map;
+
+import org.apache.log4j.Logger;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.xtext.ui.shared.SharedStateModule;
+import org.eclipse.xtext.util.Modules2;
+import org.osgi.framework.BundleContext;
+
+import com.google.common.collect.Maps;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.Module;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass.
+ */
+public class NLSDslActivator extends AbstractUIPlugin {
+
+ public static final String ORG_ECLIPSE_FX_IDE_L10N_NLSDSL = "org.eclipse.fx.ide.l10n.NLSDsl";
+
+ private static final Logger logger = Logger.getLogger(NLSDslActivator.class);
+
+ private static NLSDslActivator INSTANCE;
+
+ private Map<String, Injector> injectors = Collections.synchronizedMap(Maps.<String, Injector> newHashMapWithExpectedSize(1));
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ INSTANCE = this;
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ injectors.clear();
+ INSTANCE = null;
+ super.stop(context);
+ }
+
+ public static NLSDslActivator getInstance() {
+ return INSTANCE;
+ }
+
+ public Injector getInjector(String language) {
+ synchronized (injectors) {
+ Injector injector = injectors.get(language);
+ if (injector == null) {
+ injectors.put(language, injector = createInjector(language));
+ }
+ return injector;
+ }
+ }
+
+ protected Injector createInjector(String language) {
+ try {
+ Module runtimeModule = getRuntimeModule(language);
+ Module sharedStateModule = getSharedStateModule();
+ Module uiModule = getUiModule(language);
+ Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
+ return Guice.createInjector(mergedModule);
+ } catch (Exception e) {
+ logger.error("Failed to create injector for " + language);
+ logger.error(e.getMessage(), e);
+ throw new RuntimeException("Failed to create injector for " + language, e);
+ }
+ }
+
+ protected Module getRuntimeModule(String grammar) {
+ if (ORG_ECLIPSE_FX_IDE_L10N_NLSDSL.equals(grammar)) {
+ return new org.eclipse.fx.ide.l10n.NLSDslRuntimeModule();
+ }
+
+ throw new IllegalArgumentException(grammar);
+ }
+
+ protected Module getUiModule(String grammar) {
+ if (ORG_ECLIPSE_FX_IDE_L10N_NLSDSL.equals(grammar)) {
+ return new org.eclipse.fx.ide.l10n.ui.NLSDslUiModule(this);
+ }
+
+ throw new IllegalArgumentException(grammar);
+ }
+
+ protected Module getSharedStateModule() {
+ return new SharedStateModule();
+ }
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/NLSDslUiModule.java b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/NLSDslUiModule.java
new file mode 100644
index 000000000..ef5d17e80
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/NLSDslUiModule.java
@@ -0,0 +1,37 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.l10n.ui;
+
+import org.eclipse.fx.ide.l10n.ui.highlighting.NLSHighlightingCalculator;
+import org.eclipse.fx.ide.l10n.ui.highlighting.NLSHighlightingConfiguration;
+import org.eclipse.fx.ide.l10n.ui.highlighting.TokenToAttributeIdMapper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.xtext.ui.editor.XtextEditor;
+import org.eclipse.xtext.ui.editor.syntaxcoloring.AbstractAntlrTokenToAttributeIdMapper;
+import org.eclipse.xtext.ui.editor.syntaxcoloring.IHighlightingConfiguration;
+import org.eclipse.xtext.ui.editor.syntaxcoloring.ISemanticHighlightingCalculator;
+
+import com.google.inject.Binder;
+import com.google.inject.name.Names;
+
+/**
+ * Use this class to register components to be used within the IDE.
+ */
+public class NLSDslUiModule extends org.eclipse.fx.ide.l10n.ui.AbstractNLSDslUiModule {
+ public NLSDslUiModule(AbstractUIPlugin plugin) {
+ super(plugin);
+ }
+
+ @Override
+ public void configure(Binder binder) {
+ super.configure(binder);
+
+ binder.bindConstant().annotatedWith(Names.named(XtextEditor.KEY_BINDING_SCOPE))
+ .to("org.eclipse.fx.ide.l10n.ui.NLSEditorScope");
+ binder.bind(AbstractAntlrTokenToAttributeIdMapper.class).to(TokenToAttributeIdMapper.class);
+ binder.bind(IHighlightingConfiguration.class).to(NLSHighlightingConfiguration.class);
+ binder.bind(ISemanticHighlightingCalculator.class).to(NLSHighlightingCalculator.class);
+ }
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/contentassist/NLSDslProposalProvider.xtend b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/contentassist/NLSDslProposalProvider.xtend
new file mode 100644
index 000000000..535e3fca5
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/contentassist/NLSDslProposalProvider.xtend
@@ -0,0 +1,12 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.l10n.ui.contentassist
+
+import org.eclipse.fx.ide.l10n.ui.contentassist.AbstractNLSDslProposalProvider
+
+/**
+ * see http://www.eclipse.org/Xtext/documentation.html#contentAssist on how to customize content assistant
+ */
+class NLSDslProposalProvider extends AbstractNLSDslProposalProvider {
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/edit/StringReplacementHandler.xtend b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/edit/StringReplacementHandler.xtend
new file mode 100644
index 000000000..f2353af1d
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/edit/StringReplacementHandler.xtend
@@ -0,0 +1,44 @@
+package org.eclipse.fx.ide.l10n.ui.edit
+
+import org.eclipse.core.commands.AbstractHandler
+import org.eclipse.core.commands.ExecutionEvent
+import org.eclipse.core.commands.ExecutionException
+import org.eclipse.xtext.ui.editor.utils.EditorUtils
+import org.eclipse.swt.widgets.Event
+import org.eclipse.swt.SWT
+
+abstract class StringReplacementHandler extends AbstractHandler {
+ static class LeftGuillemet extends org.eclipse.fx.ide.l10n.ui.edit.StringReplacementHandler {
+ new() {
+ super('\u00ab')
+ }
+ }
+
+ static class RightGuillemet extends org.eclipse.fx.ide.l10n.ui.edit.StringReplacementHandler {
+ new() {
+ super('\u00bb')
+ }
+ }
+
+ val char replacement;
+
+ new(char replacement) {
+ this.replacement = replacement
+ }
+
+ override execute(ExecutionEvent event) throws ExecutionException {
+ val editor = EditorUtils::getActiveXtextEditor(event)
+ if( editor == null ) {
+ return null
+ }
+
+ editor.internalSourceViewer.textWidget.notifyListeners(SWT::KeyDown,new Event => [
+ character = replacement
+ type = SWT::KeyDown
+ doit = true
+ ])
+
+ return null
+ }
+
+} \ No newline at end of file
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/highlighting/NLSHighlightingCalculator.xtend b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/highlighting/NLSHighlightingCalculator.xtend
new file mode 100644
index 000000000..51dfa93e8
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/highlighting/NLSHighlightingCalculator.xtend
@@ -0,0 +1,22 @@
+package org.eclipse.fx.ide.l10n.ui.highlighting
+
+import org.eclipse.xtext.ui.editor.syntaxcoloring.ISemanticHighlightingCalculator
+import org.eclipse.xtext.resource.XtextResource
+import org.eclipse.xtext.ui.editor.syntaxcoloring.IHighlightedPositionAcceptor
+import org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart
+import org.eclipse.xtext.nodemodel.util.NodeModelUtils
+import org.eclipse.emf.ecore.EObject
+
+class NLSHighlightingCalculator implements ISemanticHighlightingCalculator {
+
+ override provideHighlightingFor(XtextResource resource, IHighlightedPositionAcceptor acceptor) {
+ if( resource == null ) {
+ return
+ }
+
+ resource.allContents.filter(typeof(RichVarPart)).map[e | NodeModelUtils.getNode(e as EObject)].forEach[n|
+ acceptor.addPosition(n.offset-1,n.length+2,NLSHighlightingConfiguration.RICH_TEXT_VAR_ID)
+ ]
+ }
+
+} \ No newline at end of file
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/highlighting/NLSHighlightingConfiguration.xtend b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/highlighting/NLSHighlightingConfiguration.xtend
new file mode 100644
index 000000000..a9551bcf4
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/highlighting/NLSHighlightingConfiguration.xtend
@@ -0,0 +1,22 @@
+package org.eclipse.fx.ide.l10n.ui.highlighting
+
+import org.eclipse.xtext.ui.editor.syntaxcoloring.DefaultHighlightingConfiguration
+import org.eclipse.xtext.ui.editor.syntaxcoloring.IHighlightingConfigurationAcceptor
+import org.eclipse.swt.graphics.RGB
+
+class NLSHighlightingConfiguration extends DefaultHighlightingConfiguration {
+ public static final String RICH_TEXT_ID = "nls.richText";
+ public static final String RICH_TEXT_VAR_ID = "nls.richTextVar";
+
+ override configure(IHighlightingConfigurationAcceptor acceptor) {
+ acceptor.acceptDefaultHighlighting(RICH_TEXT_ID, "Template Text", stringTextStyle());
+ acceptor.acceptDefaultHighlighting(RICH_TEXT_VAR_ID, "Template Text", richTextVarStyle());
+ }
+
+ def richTextVarStyle() {
+ val textStyle = defaultTextStyle().copy();
+ textStyle.color = new RGB(127, 0, 85);
+ return textStyle;
+ }
+
+} \ No newline at end of file
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/highlighting/TokenToAttributeIdMapper.xtend b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/highlighting/TokenToAttributeIdMapper.xtend
new file mode 100644
index 000000000..0186802d1
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/highlighting/TokenToAttributeIdMapper.xtend
@@ -0,0 +1,18 @@
+package org.eclipse.fx.ide.l10n.ui.highlighting
+
+import org.eclipse.xtext.ui.editor.syntaxcoloring.DefaultAntlrTokenToAttributeIdMapper
+
+class TokenToAttributeIdMapper extends DefaultAntlrTokenToAttributeIdMapper {
+
+ override protected calculateId(String tokenName, int tokenType) {
+ if(
+ "RULE_RICH_TEXT".equals(tokenName) ||
+ "RULE_RICH_TEXT_START".equals(tokenName) ||
+ "RULE_RICH_TEXT_END".equals(tokenName) ||
+ "RULE_RICH_TEXT_INBETWEEN".equals(tokenName) ) {
+ return NLSHighlightingConfiguration.RICH_TEXT_ID;
+ }
+ return super.calculateId(tokenName, tokenType);
+ }
+
+} \ No newline at end of file
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/labeling/NLSDslDescriptionLabelProvider.xtend b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/labeling/NLSDslDescriptionLabelProvider.xtend
new file mode 100644
index 000000000..eb5679366
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/labeling/NLSDslDescriptionLabelProvider.xtend
@@ -0,0 +1,24 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.fx.ide.l10n.ui.labeling
+
+//import org.eclipse.xtext.resource.IEObjectDescription
+
+/**
+ * Provides labels for a IEObjectDescriptions and IResourceDescriptions.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
+ */
+class NLSDslDescriptionLabelProvider extends org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider {
+
+ // Labels and icons can be computed like this:
+
+// override text(IEObjectDescription ele) {
+// ele.name.toString
+// }
+//
+// override image(IEObjectDescription ele) {
+// ele.EClass.name + '.gif'
+// }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/labeling/NLSDslLabelProvider.xtend b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/labeling/NLSDslLabelProvider.xtend
new file mode 100644
index 000000000..ea1772bea
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/labeling/NLSDslLabelProvider.xtend
@@ -0,0 +1,29 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.fx.ide.l10n.ui.labeling
+
+import com.google.inject.Inject
+
+/**
+ * Provides labels for a EObjects.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
+ */
+class NLSDslLabelProvider extends org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider {
+
+ @Inject
+ new(org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider delegate) {
+ super(delegate);
+ }
+
+ // Labels and icons can be computed like this:
+
+// def text(Greeting ele) {
+// 'A greeting to ' + ele.name
+// }
+//
+// def image(Greeting ele) {
+// 'Greeting.gif'
+// }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/outline/NLSDslOutlineTreeProvider.xtend b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/outline/NLSDslOutlineTreeProvider.xtend
new file mode 100644
index 000000000..831c8cdde
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/outline/NLSDslOutlineTreeProvider.xtend
@@ -0,0 +1,13 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.fx.ide.l10n.ui.outline
+
+/**
+ * Customization of the default outline structure.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#outline
+ */
+class NLSDslOutlineTreeProvider extends org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider {
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/quickfix/NLSDslQuickfixProvider.xtend b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/quickfix/NLSDslQuickfixProvider.xtend
new file mode 100644
index 000000000..a6562f210
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/src/org/eclipse/fx/ide/l10n/ui/quickfix/NLSDslQuickfixProvider.xtend
@@ -0,0 +1,26 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.fx.ide.l10n.ui.quickfix
+
+//import org.eclipse.xtext.ui.editor.quickfix.Fix
+//import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionAcceptor
+//import org.eclipse.xtext.validation.Issue
+
+/**
+ * Custom quickfixes.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#quickfixes
+ */
+class NLSDslQuickfixProvider extends org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider {
+
+// @Fix(MyDslValidator::INVALID_NAME)
+// def capitalizeName(Issue issue, IssueResolutionAcceptor acceptor) {
+// acceptor.accept(issue, 'Capitalize name', 'Capitalize the name.', 'upcase.png') [
+// context |
+// val xtextDocument = context.xtextDocument
+// val firstLetter = xtextDocument.get(issue.offset, 1)
+// xtextDocument.replace(issue.offset, 1, firstLetter.toUpperCase)
+// ]
+// }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/contentassist/.gitignore b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/contentassist/.gitignore
new file mode 100644
index 000000000..d3d831c92
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/contentassist/.gitignore
@@ -0,0 +1,2 @@
+/.NLSDslProposalProvider.java._trace
+/NLSDslProposalProvider.java
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/edit/.gitignore b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/edit/.gitignore
new file mode 100644
index 000000000..7eee13a8f
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/edit/.gitignore
@@ -0,0 +1,2 @@
+/.StringReplacementHandler.java._trace
+/StringReplacementHandler.java
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/highlighting/.gitignore b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/highlighting/.gitignore
new file mode 100644
index 000000000..0d0987800
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/highlighting/.gitignore
@@ -0,0 +1,7 @@
+/.NLSDslHighlightingCalculator.java._trace
+/.NLSHighlightingCalculator.java._trace
+/.NLSHighlightingConfiguration.java._trace
+/.TokenToAttributeIdMapper.java._trace
+/NLSHighlightingCalculator.java
+/NLSHighlightingConfiguration.java
+/TokenToAttributeIdMapper.java
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/labeling/.gitignore b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/labeling/.gitignore
new file mode 100644
index 000000000..1cdae0a45
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/labeling/.gitignore
@@ -0,0 +1,4 @@
+/.NLSDslDescriptionLabelProvider.java._trace
+/.NLSDslLabelProvider.java._trace
+/NLSDslDescriptionLabelProvider.java
+/NLSDslLabelProvider.java
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/outline/.gitignore b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/outline/.gitignore
new file mode 100644
index 000000000..91796ac90
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/outline/.gitignore
@@ -0,0 +1,2 @@
+/.NLSDslOutlineTreeProvider.java._trace
+/NLSDslOutlineTreeProvider.java
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/quickfix/.gitignore b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/quickfix/.gitignore
new file mode 100644
index 000000000..4690c9a01
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/quickfix/.gitignore
@@ -0,0 +1,2 @@
+/.NLSDslQuickfixProvider.java._trace
+/NLSDslQuickfixProvider.java
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/.antlr-generator-3.2.0-patch.jar b/bundles/tooling/org.eclipse.fx.ide.l10n/.antlr-generator-3.2.0-patch.jar
new file mode 100644
index 000000000..90516fd7a
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/.antlr-generator-3.2.0-patch.jar
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/.classpath b/bundles/tooling/org.eclipse.fx.ide.l10n/.classpath
new file mode 100644
index 000000000..d1b97f72b
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="xtend-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/.gitignore b/bundles/tooling/org.eclipse.fx.ide.l10n/.gitignore
new file mode 100644
index 000000000..ae3c17260
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/.launch/Generate Language Infrastructure (org.eclipse.fx.ide.l10n).launch b/bundles/tooling/org.eclipse.fx.ide.l10n/.launch/Generate Language Infrastructure (org.eclipse.fx.ide.l10n).launch
new file mode 100644
index 000000000..2a9d34790
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/.launch/Generate Language Infrastructure (org.eclipse.fx.ide.l10n).launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1299248699643_13&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.fx.ide.l10n&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.fx.ide.l10n.generator&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.fx.ide.l10n.tests&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.fx.ide.l10n.ui&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.fx.ide.l10n"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/fx/ide/l10n/GenerateNLSDsl.mwe2"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.fx.ide.l10n"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m"/>
+</launchConfiguration>
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/.project b/bundles/tooling/org.eclipse.fx.ide.l10n/.project
new file mode 100644
index 000000000..2063b257d
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.fx.ide.l10n</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/.settings/org.eclipse.core.resources.prefs b/bundles/tooling/org.eclipse.fx.ide.l10n/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..99f26c020
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/.settings/org.eclipse.jdt.core.prefs b/bundles/tooling/org.eclipse.fx.ide.l10n/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..f42de363a
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.l10n/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..a3041dac8
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/META-INF/MANIFEST.MF
@@ -0,0 +1,35 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.fx.ide.l10n
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.eclipse.fx.ide.l10n; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.xtext;visibility:=reexport,
+ org.eclipse.xtext.xbase;resolution:=optional;visibility:=reexport,
+ org.eclipse.xtext.generator;resolution:=optional,
+ org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional,
+ org.eclipse.emf.codegen.ecore;resolution:=optional,
+ org.eclipse.emf.mwe.utils;resolution:=optional,
+ org.eclipse.emf.mwe2.launch;resolution:=optional,
+ org.eclipse.xtext.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.common,
+ org.eclipse.xtext.xbase.lib,
+ org.antlr.runtime,
+ org.eclipse.xtext.common.types,
+ org.objectweb.asm;bundle-version="[5.0.1,6.0.0)";resolution:=optional
+Import-Package: org.apache.log4j
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Export-Package: org.eclipse.fx.ide.l10n,
+ org.eclipse.fx.ide.l10n.services,
+ org.eclipse.fx.ide.l10n.nLSDsl,
+ org.eclipse.fx.ide.l10n.nLSDsl.impl,
+ org.eclipse.fx.ide.l10n.nLSDsl.util,
+ org.eclipse.fx.ide.l10n.serializer,
+ org.eclipse.fx.ide.l10n.parser.antlr,
+ org.eclipse.fx.ide.l10n.parser.antlr.internal,
+ org.eclipse.fx.ide.l10n.validation,
+ org.eclipse.fx.ide.l10n.scoping,
+ org.eclipse.fx.ide.l10n.generator,
+ org.eclipse.fx.ide.l10n.formatting
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/build.properties b/bundles/tooling/org.eclipse.fx.ide.l10n/build.properties
new file mode 100644
index 000000000..9b82d81de
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/build.properties
@@ -0,0 +1,7 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = model/,\
+ META-INF/,\
+ .,\
+ plugin.xml \ No newline at end of file
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/model/generated/NLSDsl.ecore b/bundles/tooling/org.eclipse.fx.ide.l10n/model/generated/NLSDsl.ecore
new file mode 100644
index 000000000..5c556ccd3
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/model/generated/NLSDsl.ecore
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="nLSDsl" nsURI="http://www.eclipse.org/fx/ide/l10n/NLSDsl" nsPrefix="nLSDsl">
+ <eClassifiers xsi:type="ecore:EClass" name="NLS">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="package" eType="#//PackageDeclaration"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="bundleList" upperBound="-1"
+ eType="#//NLSBundle" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PackageDeclaration">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NLSBundle">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="lang" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="formatterList" upperBound="-1"
+ eType="#//NLSFormatter" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageEntryList" upperBound="-1"
+ eType="#//MessageEntry" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NLSFormatter">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="classRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MessageEntry">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="paramList" upperBound="-1"
+ eType="#//MessageParam" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageList" upperBound="-1"
+ eType="#//Message" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="entryRef" eType="#//MessageEntry"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MessageParam">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="predefined" eType="#//PredefinedTypes"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="var" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Message">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="message" eType="#//RichString"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RichString">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expressions" upperBound="-1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RichStringLiteral">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RichStringLiteralStart">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RichStringLiteralEnd">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RichStringLiteralInbetween">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RichVarPart">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="format" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="formatterClass" eType="#//NLSFormatter"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="PredefinedTypes">
+ <eLiterals name="ANY" literal="ANY"/>
+ <eLiterals name="NUMBER" value="1" literal="NUMBER"/>
+ <eLiterals name="DATE" value="2" literal="DATE"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/model/generated/NLSDsl.genmodel b/bundles/tooling/org.eclipse.fx.ide.l10n/model/generated/NLSDsl.genmodel
new file mode 100644
index 000000000..880362d8c
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/model/generated/NLSDsl.genmodel
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.fx.ide.l10n/src-gen" editDirectory="/org.eclipse.fx.ide.l10n.edit/src"
+ editorDirectory="/org.eclipse.fx.ide.l10n.editor/src" modelPluginID="org.eclipse.fx.ide.l10n"
+ forceOverwrite="true" modelName="NLSDsl" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.fx.ide.l10n.edit"
+ editorPluginID="org.eclipse.fx.ide.l10n.editor" runtimeVersion="2.10">
+ <genPackages prefix="NLSDsl" basePackage="org.eclipse.fx.ide.l10n" disposableProviderFactory="true"
+ fileExtensions="l10n" ecorePackage="NLSDsl.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="NLSDsl.ecore#//PredefinedTypes">
+ <genEnumLiterals ecoreEnumLiteral="NLSDsl.ecore#//PredefinedTypes/ANY"/>
+ <genEnumLiterals ecoreEnumLiteral="NLSDsl.ecore#//PredefinedTypes/NUMBER"/>
+ <genEnumLiterals ecoreEnumLiteral="NLSDsl.ecore#//PredefinedTypes/DATE"/>
+ </genEnums>
+ <genClasses ecoreClass="NLSDsl.ecore#//NLS">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference NLSDsl.ecore#//NLS/package"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference NLSDsl.ecore#//NLS/bundleList"/>
+ </genClasses>
+ <genClasses ecoreClass="NLSDsl.ecore#//PackageDeclaration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute NLSDsl.ecore#//PackageDeclaration/name"/>
+ </genClasses>
+ <genClasses ecoreClass="NLSDsl.ecore#//NLSBundle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute NLSDsl.ecore#//NLSBundle/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute NLSDsl.ecore#//NLSBundle/lang"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference NLSDsl.ecore#//NLSBundle/formatterList"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference NLSDsl.ecore#//NLSBundle/messageEntryList"/>
+ </genClasses>
+ <genClasses ecoreClass="NLSDsl.ecore#//NLSFormatter">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute NLSDsl.ecore#//NLSFormatter/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute NLSDsl.ecore#//NLSFormatter/classRef"/>
+ </genClasses>
+ <genClasses ecoreClass="NLSDsl.ecore#//MessageEntry">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute NLSDsl.ecore#//MessageEntry/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference NLSDsl.ecore#//MessageEntry/paramList"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference NLSDsl.ecore#//MessageEntry/messageList"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference NLSDsl.ecore#//MessageEntry/entryRef"/>
+ </genClasses>
+ <genClasses ecoreClass="NLSDsl.ecore#//MessageParam">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute NLSDsl.ecore#//MessageParam/predefined"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute NLSDsl.ecore#//MessageParam/var"/>
+ </genClasses>
+ <genClasses ecoreClass="NLSDsl.ecore#//Message">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute NLSDsl.ecore#//Message/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference NLSDsl.ecore#//Message/message"/>
+ </genClasses>
+ <genClasses ecoreClass="NLSDsl.ecore#//RichString">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference NLSDsl.ecore#//RichString/expressions"/>
+ </genClasses>
+ <genClasses ecoreClass="NLSDsl.ecore#//RichStringLiteral">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute NLSDsl.ecore#//RichStringLiteral/value"/>
+ </genClasses>
+ <genClasses ecoreClass="NLSDsl.ecore#//RichStringLiteralStart">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute NLSDsl.ecore#//RichStringLiteralStart/value"/>
+ </genClasses>
+ <genClasses ecoreClass="NLSDsl.ecore#//RichStringLiteralEnd">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute NLSDsl.ecore#//RichStringLiteralEnd/value"/>
+ </genClasses>
+ <genClasses ecoreClass="NLSDsl.ecore#//RichStringLiteralInbetween">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute NLSDsl.ecore#//RichStringLiteralInbetween/value"/>
+ </genClasses>
+ <genClasses ecoreClass="NLSDsl.ecore#//RichVarPart">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute NLSDsl.ecore#//RichVarPart/key"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute NLSDsl.ecore#//RichVarPart/format"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference NLSDsl.ecore#//RichVarPart/formatterClass"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/plugin.xml b/bundles/tooling/org.eclipse.fx.ide.l10n/plugin.xml
new file mode 100644
index 000000000..ba2319216
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/plugin.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.eclipse.org/fx/ide/l10n/NLSDsl"
+ class = "org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage"
+ genModel = "model/generated/NLSDsl.genmodel" />
+
+ </extension>
+
+
+
+</plugin>
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/plugin.xml_gen b/bundles/tooling/org.eclipse.fx.ide.l10n/plugin.xml_gen
new file mode 100644
index 000000000..ba2319216
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/plugin.xml_gen
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.eclipse.org/fx/ide/l10n/NLSDsl"
+ class = "org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage"
+ genModel = "model/generated/NLSDsl.genmodel" />
+
+ </extension>
+
+
+
+</plugin>
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/AbstractNLSDslRuntimeModule.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/AbstractNLSDslRuntimeModule.java
new file mode 100644
index 000000000..815938335
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/AbstractNLSDslRuntimeModule.java
@@ -0,0 +1,172 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.l10n;
+
+import java.util.Properties;
+
+import org.eclipse.xtext.Constants;
+import org.eclipse.xtext.service.DefaultRuntimeModule;
+
+import com.google.inject.Binder;
+import com.google.inject.name.Names;
+
+/**
+ * Manual modifications go to {org.eclipse.fx.ide.l10n.NLSDslRuntimeModule}
+ */
+ @SuppressWarnings("all")
+public abstract class AbstractNLSDslRuntimeModule extends DefaultRuntimeModule {
+
+ protected Properties properties = null;
+
+ @Override
+ public void configure(Binder binder) {
+ properties = tryBindProperties(binder, "org/eclipse/fx/ide/l10n/NLSDsl.properties");
+ super.configure(binder);
+ }
+
+ public void configureLanguageName(Binder binder) {
+ binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.fx.ide.l10n.NLSDsl");
+ }
+
+ 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("l10n");
+ }
+
+ // contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
+ public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
+ return org.eclipse.fx.ide.l10n.services.NLSDslGrammarAccess.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.sequencer.ISemanticSequencer> bindISemanticSequencer() {
+ return org.eclipse.fx.ide.l10n.serializer.NLSDslSemanticSequencer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer> bindISyntacticSequencer() {
+ return org.eclipse.fx.ide.l10n.serializer.NLSDslSyntacticSequencer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.ISerializer> bindISerializer() {
+ return org.eclipse.xtext.serializer.impl.Serializer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
+ return org.eclipse.fx.ide.l10n.parser.antlr.NLSDslParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.ITokenToStringConverter> bindITokenToStringConverter() {
+ return org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
+ return org.eclipse.fx.ide.l10n.parser.antlr.NLSDslAntlrTokenFileProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
+ return org.eclipse.fx.ide.l10n.parser.antlr.internal.InternalNLSDslLexer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.fx.ide.l10n.parser.antlr.internal.InternalNLSDslLexer> provideInternalNLSDslLexer() {
+ return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.fx.ide.l10n.parser.antlr.internal.InternalNLSDslLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureRuntimeLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.parser.antlr.LexerBindings.RUNTIME)).to(org.eclipse.fx.ide.l10n.parser.antlr.internal.InternalNLSDslLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.ITokenDefProvider> bindITokenDefProvider() {
+ return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.validation.ValidatorFragment
+ @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.fx.ide.l10n.validation.NLSDslValidator> bindNLSDslValidator() {
+ return org.eclipse.fx.ide.l10n.validation.NLSDslValidator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
+ return org.eclipse.fx.ide.l10n.scoping.NLSDslScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public void configureIgnoreCaseLinking(com.google.inject.Binder binder) {
+ binder.bindConstant().annotatedWith(org.eclipse.xtext.scoping.IgnoreCaseLinking.class).to(false);
+ }
+
+ // contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
+ public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
+ return org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.resource.IContainer.Manager> bindIContainer$Manager() {
+ return org.eclipse.xtext.resource.containers.StateBasedContainerManager.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.resource.containers.IAllContainersState.Provider> bindIAllContainersState$Provider() {
+ return org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptions(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+ public Class<? extends org.eclipse.xtext.generator.IGenerator> bindIGenerator() {
+ return org.eclipse.fx.ide.l10n.generator.NLSDslGenerator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
+ public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
+ return org.eclipse.fx.ide.l10n.formatting.NLSDslFormatter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public java.lang.ClassLoader bindClassLoaderToInstance() {
+ return getClass().getClassLoader();
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public org.eclipse.xtext.common.types.TypesFactory bindTypesFactoryToInstance() {
+ return org.eclipse.xtext.common.types.TypesFactory.eINSTANCE;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
+ return org.eclipse.xtext.common.types.access.ClasspathTypeProviderFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
+ return org.eclipse.xtext.common.types.xtext.ClasspathBasedTypeScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
+ return org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider.class;
+ }
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/NLSDsl.xtextbin b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/NLSDsl.xtextbin
new file mode 100644
index 000000000..3ce6994aa
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/NLSDsl.xtextbin
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/NLSDslStandaloneSetupGenerated.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/NLSDslStandaloneSetupGenerated.java
new file mode 100644
index 000000000..5871952c8
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/NLSDslStandaloneSetupGenerated.java
@@ -0,0 +1,44 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.fx.ide.l10n;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.ISetup;
+import org.eclipse.emf.ecore.resource.Resource;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+/**
+ * Generated from StandaloneSetup.xpt!
+ */
+@SuppressWarnings("all")
+public class NLSDslStandaloneSetupGenerated implements ISetup {
+
+ public Injector createInjectorAndDoEMFRegistration() {
+ org.eclipse.xtext.common.TerminalsStandaloneSetup.doSetup();
+
+ Injector injector = createInjector();
+ register(injector);
+ return injector;
+ }
+
+ public Injector createInjector() {
+ return Guice.createInjector(new org.eclipse.fx.ide.l10n.NLSDslRuntimeModule());
+ }
+
+ public void register(Injector injector) {
+ if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/fx/ide/l10n/NLSDsl")) {
+ EPackage.Registry.INSTANCE.put("http://www.eclipse.org/fx/ide/l10n/NLSDsl", org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage.eINSTANCE);
+ }
+
+ org.eclipse.xtext.resource.IResourceFactory resourceFactory = injector.getInstance(org.eclipse.xtext.resource.IResourceFactory.class);
+ org.eclipse.xtext.resource.IResourceServiceProvider serviceProvider = injector.getInstance(org.eclipse.xtext.resource.IResourceServiceProvider.class);
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("l10n", resourceFactory);
+ org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("l10n", serviceProvider);
+
+
+
+ }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/Message.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/Message.java
new file mode 100644
index 000000000..5c2de3291
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/Message.java
@@ -0,0 +1,78 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Message</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.Message#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.Message#getMessage <em>Message</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getMessage()
+ * @model
+ * @generated
+ */
+public interface Message extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getMessage_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.Message#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Message</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message</em>' containment reference.
+ * @see #setMessage(RichString)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getMessage_Message()
+ * @model containment="true"
+ * @generated
+ */
+ RichString getMessage();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.Message#getMessage <em>Message</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Message</em>' containment reference.
+ * @see #getMessage()
+ * @generated
+ */
+ void setMessage(RichString value);
+
+} // Message
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/MessageEntry.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/MessageEntry.java
new file mode 100644
index 000000000..392adba99
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/MessageEntry.java
@@ -0,0 +1,114 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Message Entry</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry#getParamList <em>Param List</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry#getMessageList <em>Message List</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry#getEntryRef <em>Entry Ref</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getMessageEntry()
+ * @model
+ * @generated
+ */
+public interface MessageEntry extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getMessageEntry_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Param List</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.fx.ide.l10n.nLSDsl.MessageParam}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Param List</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Param List</em>' containment reference list.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getMessageEntry_ParamList()
+ * @model containment="true"
+ * @generated
+ */
+ EList<MessageParam> getParamList();
+
+ /**
+ * Returns the value of the '<em><b>Message List</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.fx.ide.l10n.nLSDsl.Message}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message List</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message List</em>' containment reference list.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getMessageEntry_MessageList()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Message> getMessageList();
+
+ /**
+ * Returns the value of the '<em><b>Entry Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Entry Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Entry Ref</em>' reference.
+ * @see #setEntryRef(MessageEntry)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getMessageEntry_EntryRef()
+ * @model
+ * @generated
+ */
+ MessageEntry getEntryRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry#getEntryRef <em>Entry Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Entry Ref</em>' reference.
+ * @see #getEntryRef()
+ * @generated
+ */
+ void setEntryRef(MessageEntry value);
+
+} // MessageEntry
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/MessageParam.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/MessageParam.java
new file mode 100644
index 000000000..6d1016765
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/MessageParam.java
@@ -0,0 +1,81 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Message Param</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageParam#getPredefined <em>Predefined</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageParam#getVar <em>Var</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getMessageParam()
+ * @model
+ * @generated
+ */
+public interface MessageParam extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Predefined</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.fx.ide.l10n.nLSDsl.PredefinedTypes}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Predefined</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Predefined</em>' attribute.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.PredefinedTypes
+ * @see #setPredefined(PredefinedTypes)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getMessageParam_Predefined()
+ * @model
+ * @generated
+ */
+ PredefinedTypes getPredefined();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageParam#getPredefined <em>Predefined</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Predefined</em>' attribute.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.PredefinedTypes
+ * @see #getPredefined()
+ * @generated
+ */
+ void setPredefined(PredefinedTypes value);
+
+ /**
+ * Returns the value of the '<em><b>Var</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Var</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Var</em>' attribute.
+ * @see #setVar(String)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getMessageParam_Var()
+ * @model
+ * @generated
+ */
+ String getVar();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageParam#getVar <em>Var</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Var</em>' attribute.
+ * @see #getVar()
+ * @generated
+ */
+ void setVar(String value);
+
+} // MessageParam
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLS.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLS.java
new file mode 100644
index 000000000..d12e1eafe
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLS.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>NLS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.NLS#getPackage <em>Package</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.NLS#getBundleList <em>Bundle List</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getNLS()
+ * @model
+ * @generated
+ */
+public interface NLS extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Package</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Package</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Package</em>' containment reference.
+ * @see #setPackage(PackageDeclaration)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getNLS_Package()
+ * @model containment="true"
+ * @generated
+ */
+ PackageDeclaration getPackage();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLS#getPackage <em>Package</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Package</em>' containment reference.
+ * @see #getPackage()
+ * @generated
+ */
+ void setPackage(PackageDeclaration value);
+
+ /**
+ * Returns the value of the '<em><b>Bundle List</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Bundle List</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Bundle List</em>' containment reference list.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getNLS_BundleList()
+ * @model containment="true"
+ * @generated
+ */
+ EList<NLSBundle> getBundleList();
+
+} // NLS
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLSBundle.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLSBundle.java
new file mode 100644
index 000000000..0733fa8d4
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLSBundle.java
@@ -0,0 +1,114 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>NLS Bundle</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle#getLang <em>Lang</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle#getFormatterList <em>Formatter List</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle#getMessageEntryList <em>Message Entry List</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getNLSBundle()
+ * @model
+ * @generated
+ */
+public interface NLSBundle extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getNLSBundle_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Lang</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lang</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Lang</em>' attribute.
+ * @see #setLang(String)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getNLSBundle_Lang()
+ * @model
+ * @generated
+ */
+ String getLang();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle#getLang <em>Lang</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Lang</em>' attribute.
+ * @see #getLang()
+ * @generated
+ */
+ void setLang(String value);
+
+ /**
+ * Returns the value of the '<em><b>Formatter List</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Formatter List</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Formatter List</em>' containment reference list.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getNLSBundle_FormatterList()
+ * @model containment="true"
+ * @generated
+ */
+ EList<NLSFormatter> getFormatterList();
+
+ /**
+ * Returns the value of the '<em><b>Message Entry List</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message Entry List</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message Entry List</em>' containment reference list.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getNLSBundle_MessageEntryList()
+ * @model containment="true"
+ * @generated
+ */
+ EList<MessageEntry> getMessageEntryList();
+
+} // NLSBundle
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLSDslFactory.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLSDslFactory.java
new file mode 100644
index 000000000..94373daaa
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLSDslFactory.java
@@ -0,0 +1,151 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage
+ * @generated
+ */
+public interface NLSDslFactory extends EFactory
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ NLSDslFactory eINSTANCE = org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>NLS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>NLS</em>'.
+ * @generated
+ */
+ NLS createNLS();
+
+ /**
+ * Returns a new object of class '<em>Package Declaration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Package Declaration</em>'.
+ * @generated
+ */
+ PackageDeclaration createPackageDeclaration();
+
+ /**
+ * Returns a new object of class '<em>NLS Bundle</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>NLS Bundle</em>'.
+ * @generated
+ */
+ NLSBundle createNLSBundle();
+
+ /**
+ * Returns a new object of class '<em>NLS Formatter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>NLS Formatter</em>'.
+ * @generated
+ */
+ NLSFormatter createNLSFormatter();
+
+ /**
+ * Returns a new object of class '<em>Message Entry</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Message Entry</em>'.
+ * @generated
+ */
+ MessageEntry createMessageEntry();
+
+ /**
+ * Returns a new object of class '<em>Message Param</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Message Param</em>'.
+ * @generated
+ */
+ MessageParam createMessageParam();
+
+ /**
+ * Returns a new object of class '<em>Message</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Message</em>'.
+ * @generated
+ */
+ Message createMessage();
+
+ /**
+ * Returns a new object of class '<em>Rich String</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Rich String</em>'.
+ * @generated
+ */
+ RichString createRichString();
+
+ /**
+ * Returns a new object of class '<em>Rich String Literal</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Rich String Literal</em>'.
+ * @generated
+ */
+ RichStringLiteral createRichStringLiteral();
+
+ /**
+ * Returns a new object of class '<em>Rich String Literal Start</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Rich String Literal Start</em>'.
+ * @generated
+ */
+ RichStringLiteralStart createRichStringLiteralStart();
+
+ /**
+ * Returns a new object of class '<em>Rich String Literal End</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Rich String Literal End</em>'.
+ * @generated
+ */
+ RichStringLiteralEnd createRichStringLiteralEnd();
+
+ /**
+ * Returns a new object of class '<em>Rich String Literal Inbetween</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Rich String Literal Inbetween</em>'.
+ * @generated
+ */
+ RichStringLiteralInbetween createRichStringLiteralInbetween();
+
+ /**
+ * Returns a new object of class '<em>Rich Var Part</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Rich Var Part</em>'.
+ * @generated
+ */
+ RichVarPart createRichVarPart();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ NLSDslPackage getNLSDslPackage();
+
+} //NLSDslFactory
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLSDslPackage.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLSDslPackage.java
new file mode 100644
index 000000000..b28778229
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLSDslPackage.java
@@ -0,0 +1,1323 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface NLSDslPackage extends EPackage
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "nLSDsl";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/fx/ide/l10n/NLSDsl";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "nLSDsl";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ NLSDslPackage eINSTANCE = org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSImpl <em>NLS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getNLS()
+ * @generated
+ */
+ int NLS = 0;
+
+ /**
+ * The feature id for the '<em><b>Package</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NLS__PACKAGE = 0;
+
+ /**
+ * The feature id for the '<em><b>Bundle List</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NLS__BUNDLE_LIST = 1;
+
+ /**
+ * The number of structural features of the '<em>NLS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NLS_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.PackageDeclarationImpl <em>Package Declaration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.PackageDeclarationImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getPackageDeclaration()
+ * @generated
+ */
+ int PACKAGE_DECLARATION = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DECLARATION__NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Package Declaration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DECLARATION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSBundleImpl <em>NLS Bundle</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSBundleImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getNLSBundle()
+ * @generated
+ */
+ int NLS_BUNDLE = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NLS_BUNDLE__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Lang</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NLS_BUNDLE__LANG = 1;
+
+ /**
+ * The feature id for the '<em><b>Formatter List</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NLS_BUNDLE__FORMATTER_LIST = 2;
+
+ /**
+ * The feature id for the '<em><b>Message Entry List</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NLS_BUNDLE__MESSAGE_ENTRY_LIST = 3;
+
+ /**
+ * The number of structural features of the '<em>NLS Bundle</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NLS_BUNDLE_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSFormatterImpl <em>NLS Formatter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSFormatterImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getNLSFormatter()
+ * @generated
+ */
+ int NLS_FORMATTER = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NLS_FORMATTER__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Class Ref</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NLS_FORMATTER__CLASS_REF = 1;
+
+ /**
+ * The number of structural features of the '<em>NLS Formatter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NLS_FORMATTER_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageEntryImpl <em>Message Entry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageEntryImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getMessageEntry()
+ * @generated
+ */
+ int MESSAGE_ENTRY = 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_ENTRY__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Param List</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_ENTRY__PARAM_LIST = 1;
+
+ /**
+ * The feature id for the '<em><b>Message List</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_ENTRY__MESSAGE_LIST = 2;
+
+ /**
+ * The feature id for the '<em><b>Entry Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_ENTRY__ENTRY_REF = 3;
+
+ /**
+ * The number of structural features of the '<em>Message Entry</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_ENTRY_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageParamImpl <em>Message Param</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageParamImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getMessageParam()
+ * @generated
+ */
+ int MESSAGE_PARAM = 5;
+
+ /**
+ * The feature id for the '<em><b>Predefined</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_PARAM__PREDEFINED = 0;
+
+ /**
+ * The feature id for the '<em><b>Var</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_PARAM__VAR = 1;
+
+ /**
+ * The number of structural features of the '<em>Message Param</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_PARAM_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageImpl <em>Message</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getMessage()
+ * @generated
+ */
+ int MESSAGE = 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Message</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE__MESSAGE = 1;
+
+ /**
+ * The number of structural features of the '<em>Message</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringImpl <em>Rich String</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getRichString()
+ * @generated
+ */
+ int RICH_STRING = 7;
+
+ /**
+ * The feature id for the '<em><b>Expressions</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RICH_STRING__EXPRESSIONS = 0;
+
+ /**
+ * The number of structural features of the '<em>Rich String</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RICH_STRING_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralImpl <em>Rich String Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getRichStringLiteral()
+ * @generated
+ */
+ int RICH_STRING_LITERAL = 8;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RICH_STRING_LITERAL__VALUE = 0;
+
+ /**
+ * The number of structural features of the '<em>Rich String Literal</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RICH_STRING_LITERAL_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralStartImpl <em>Rich String Literal Start</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralStartImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getRichStringLiteralStart()
+ * @generated
+ */
+ int RICH_STRING_LITERAL_START = 9;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RICH_STRING_LITERAL_START__VALUE = 0;
+
+ /**
+ * The number of structural features of the '<em>Rich String Literal Start</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RICH_STRING_LITERAL_START_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralEndImpl <em>Rich String Literal End</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralEndImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getRichStringLiteralEnd()
+ * @generated
+ */
+ int RICH_STRING_LITERAL_END = 10;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RICH_STRING_LITERAL_END__VALUE = 0;
+
+ /**
+ * The number of structural features of the '<em>Rich String Literal End</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RICH_STRING_LITERAL_END_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralInbetweenImpl <em>Rich String Literal Inbetween</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralInbetweenImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getRichStringLiteralInbetween()
+ * @generated
+ */
+ int RICH_STRING_LITERAL_INBETWEEN = 11;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RICH_STRING_LITERAL_INBETWEEN__VALUE = 0;
+
+ /**
+ * The number of structural features of the '<em>Rich String Literal Inbetween</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RICH_STRING_LITERAL_INBETWEEN_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichVarPartImpl <em>Rich Var Part</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.RichVarPartImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getRichVarPart()
+ * @generated
+ */
+ int RICH_VAR_PART = 12;
+
+ /**
+ * The feature id for the '<em><b>Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RICH_VAR_PART__KEY = 0;
+
+ /**
+ * The feature id for the '<em><b>Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RICH_VAR_PART__FORMAT = 1;
+
+ /**
+ * The feature id for the '<em><b>Formatter Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RICH_VAR_PART__FORMATTER_CLASS = 2;
+
+ /**
+ * The number of structural features of the '<em>Rich Var Part</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RICH_VAR_PART_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.PredefinedTypes <em>Predefined Types</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.PredefinedTypes
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getPredefinedTypes()
+ * @generated
+ */
+ int PREDEFINED_TYPES = 13;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLS <em>NLS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>NLS</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLS
+ * @generated
+ */
+ EClass getNLS();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLS#getPackage <em>Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Package</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLS#getPackage()
+ * @see #getNLS()
+ * @generated
+ */
+ EReference getNLS_Package();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLS#getBundleList <em>Bundle List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Bundle List</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLS#getBundleList()
+ * @see #getNLS()
+ * @generated
+ */
+ EReference getNLS_BundleList();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.l10n.nLSDsl.PackageDeclaration <em>Package Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Package Declaration</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.PackageDeclaration
+ * @generated
+ */
+ EClass getPackageDeclaration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.l10n.nLSDsl.PackageDeclaration#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.PackageDeclaration#getName()
+ * @see #getPackageDeclaration()
+ * @generated
+ */
+ EAttribute getPackageDeclaration_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle <em>NLS Bundle</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>NLS Bundle</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle
+ * @generated
+ */
+ EClass getNLSBundle();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle#getName()
+ * @see #getNLSBundle()
+ * @generated
+ */
+ EAttribute getNLSBundle_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle#getLang <em>Lang</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Lang</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle#getLang()
+ * @see #getNLSBundle()
+ * @generated
+ */
+ EAttribute getNLSBundle_Lang();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle#getFormatterList <em>Formatter List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Formatter List</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle#getFormatterList()
+ * @see #getNLSBundle()
+ * @generated
+ */
+ EReference getNLSBundle_FormatterList();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle#getMessageEntryList <em>Message Entry List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Message Entry List</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle#getMessageEntryList()
+ * @see #getNLSBundle()
+ * @generated
+ */
+ EReference getNLSBundle_MessageEntryList();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter <em>NLS Formatter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>NLS Formatter</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter
+ * @generated
+ */
+ EClass getNLSFormatter();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter#getName()
+ * @see #getNLSFormatter()
+ * @generated
+ */
+ EAttribute getNLSFormatter_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter#getClassRef <em>Class Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Class Ref</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter#getClassRef()
+ * @see #getNLSFormatter()
+ * @generated
+ */
+ EAttribute getNLSFormatter_ClassRef();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry <em>Message Entry</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Message Entry</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry
+ * @generated
+ */
+ EClass getMessageEntry();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry#getName()
+ * @see #getMessageEntry()
+ * @generated
+ */
+ EAttribute getMessageEntry_Name();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry#getParamList <em>Param List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Param List</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry#getParamList()
+ * @see #getMessageEntry()
+ * @generated
+ */
+ EReference getMessageEntry_ParamList();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry#getMessageList <em>Message List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Message List</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry#getMessageList()
+ * @see #getMessageEntry()
+ * @generated
+ */
+ EReference getMessageEntry_MessageList();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry#getEntryRef <em>Entry Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Entry Ref</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry#getEntryRef()
+ * @see #getMessageEntry()
+ * @generated
+ */
+ EReference getMessageEntry_EntryRef();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageParam <em>Message Param</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Message Param</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.MessageParam
+ * @generated
+ */
+ EClass getMessageParam();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageParam#getPredefined <em>Predefined</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Predefined</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.MessageParam#getPredefined()
+ * @see #getMessageParam()
+ * @generated
+ */
+ EAttribute getMessageParam_Predefined();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageParam#getVar <em>Var</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Var</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.MessageParam#getVar()
+ * @see #getMessageParam()
+ * @generated
+ */
+ EAttribute getMessageParam_Var();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.l10n.nLSDsl.Message <em>Message</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Message</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.Message
+ * @generated
+ */
+ EClass getMessage();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.l10n.nLSDsl.Message#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.Message#getName()
+ * @see #getMessage()
+ * @generated
+ */
+ EAttribute getMessage_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.fx.ide.l10n.nLSDsl.Message#getMessage <em>Message</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Message</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.Message#getMessage()
+ * @see #getMessage()
+ * @generated
+ */
+ EReference getMessage_Message();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichString <em>Rich String</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rich String</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichString
+ * @generated
+ */
+ EClass getRichString();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichString#getExpressions <em>Expressions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Expressions</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichString#getExpressions()
+ * @see #getRichString()
+ * @generated
+ */
+ EReference getRichString_Expressions();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteral <em>Rich String Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rich String Literal</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteral
+ * @generated
+ */
+ EClass getRichStringLiteral();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteral#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteral#getValue()
+ * @see #getRichStringLiteral()
+ * @generated
+ */
+ EAttribute getRichStringLiteral_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralStart <em>Rich String Literal Start</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rich String Literal Start</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralStart
+ * @generated
+ */
+ EClass getRichStringLiteralStart();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralStart#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralStart#getValue()
+ * @see #getRichStringLiteralStart()
+ * @generated
+ */
+ EAttribute getRichStringLiteralStart_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralEnd <em>Rich String Literal End</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rich String Literal End</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralEnd
+ * @generated
+ */
+ EClass getRichStringLiteralEnd();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralEnd#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralEnd#getValue()
+ * @see #getRichStringLiteralEnd()
+ * @generated
+ */
+ EAttribute getRichStringLiteralEnd_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralInbetween <em>Rich String Literal Inbetween</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rich String Literal Inbetween</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralInbetween
+ * @generated
+ */
+ EClass getRichStringLiteralInbetween();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralInbetween#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralInbetween#getValue()
+ * @see #getRichStringLiteralInbetween()
+ * @generated
+ */
+ EAttribute getRichStringLiteralInbetween_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart <em>Rich Var Part</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rich Var Part</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart
+ * @generated
+ */
+ EClass getRichVarPart();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart#getKey <em>Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Key</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart#getKey()
+ * @see #getRichVarPart()
+ * @generated
+ */
+ EAttribute getRichVarPart_Key();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart#getFormat <em>Format</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Format</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart#getFormat()
+ * @see #getRichVarPart()
+ * @generated
+ */
+ EAttribute getRichVarPart_Format();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart#getFormatterClass <em>Formatter Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Formatter Class</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart#getFormatterClass()
+ * @see #getRichVarPart()
+ * @generated
+ */
+ EReference getRichVarPart_FormatterClass();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.fx.ide.l10n.nLSDsl.PredefinedTypes <em>Predefined Types</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Predefined Types</em>'.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.PredefinedTypes
+ * @generated
+ */
+ EEnum getPredefinedTypes();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ NLSDslFactory getNLSDslFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals
+ {
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSImpl <em>NLS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getNLS()
+ * @generated
+ */
+ EClass NLS = eINSTANCE.getNLS();
+
+ /**
+ * The meta object literal for the '<em><b>Package</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NLS__PACKAGE = eINSTANCE.getNLS_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Bundle List</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NLS__BUNDLE_LIST = eINSTANCE.getNLS_BundleList();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.PackageDeclarationImpl <em>Package Declaration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.PackageDeclarationImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getPackageDeclaration()
+ * @generated
+ */
+ EClass PACKAGE_DECLARATION = eINSTANCE.getPackageDeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PACKAGE_DECLARATION__NAME = eINSTANCE.getPackageDeclaration_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSBundleImpl <em>NLS Bundle</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSBundleImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getNLSBundle()
+ * @generated
+ */
+ EClass NLS_BUNDLE = eINSTANCE.getNLSBundle();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NLS_BUNDLE__NAME = eINSTANCE.getNLSBundle_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Lang</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NLS_BUNDLE__LANG = eINSTANCE.getNLSBundle_Lang();
+
+ /**
+ * The meta object literal for the '<em><b>Formatter List</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NLS_BUNDLE__FORMATTER_LIST = eINSTANCE.getNLSBundle_FormatterList();
+
+ /**
+ * The meta object literal for the '<em><b>Message Entry List</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NLS_BUNDLE__MESSAGE_ENTRY_LIST = eINSTANCE.getNLSBundle_MessageEntryList();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSFormatterImpl <em>NLS Formatter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSFormatterImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getNLSFormatter()
+ * @generated
+ */
+ EClass NLS_FORMATTER = eINSTANCE.getNLSFormatter();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NLS_FORMATTER__NAME = eINSTANCE.getNLSFormatter_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Class Ref</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NLS_FORMATTER__CLASS_REF = eINSTANCE.getNLSFormatter_ClassRef();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageEntryImpl <em>Message Entry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageEntryImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getMessageEntry()
+ * @generated
+ */
+ EClass MESSAGE_ENTRY = eINSTANCE.getMessageEntry();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MESSAGE_ENTRY__NAME = eINSTANCE.getMessageEntry_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Param List</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MESSAGE_ENTRY__PARAM_LIST = eINSTANCE.getMessageEntry_ParamList();
+
+ /**
+ * The meta object literal for the '<em><b>Message List</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MESSAGE_ENTRY__MESSAGE_LIST = eINSTANCE.getMessageEntry_MessageList();
+
+ /**
+ * The meta object literal for the '<em><b>Entry Ref</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MESSAGE_ENTRY__ENTRY_REF = eINSTANCE.getMessageEntry_EntryRef();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageParamImpl <em>Message Param</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageParamImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getMessageParam()
+ * @generated
+ */
+ EClass MESSAGE_PARAM = eINSTANCE.getMessageParam();
+
+ /**
+ * The meta object literal for the '<em><b>Predefined</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MESSAGE_PARAM__PREDEFINED = eINSTANCE.getMessageParam_Predefined();
+
+ /**
+ * The meta object literal for the '<em><b>Var</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MESSAGE_PARAM__VAR = eINSTANCE.getMessageParam_Var();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageImpl <em>Message</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getMessage()
+ * @generated
+ */
+ EClass MESSAGE = eINSTANCE.getMessage();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MESSAGE__NAME = eINSTANCE.getMessage_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Message</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MESSAGE__MESSAGE = eINSTANCE.getMessage_Message();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringImpl <em>Rich String</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getRichString()
+ * @generated
+ */
+ EClass RICH_STRING = eINSTANCE.getRichString();
+
+ /**
+ * The meta object literal for the '<em><b>Expressions</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RICH_STRING__EXPRESSIONS = eINSTANCE.getRichString_Expressions();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralImpl <em>Rich String Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getRichStringLiteral()
+ * @generated
+ */
+ EClass RICH_STRING_LITERAL = eINSTANCE.getRichStringLiteral();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RICH_STRING_LITERAL__VALUE = eINSTANCE.getRichStringLiteral_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralStartImpl <em>Rich String Literal Start</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralStartImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getRichStringLiteralStart()
+ * @generated
+ */
+ EClass RICH_STRING_LITERAL_START = eINSTANCE.getRichStringLiteralStart();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RICH_STRING_LITERAL_START__VALUE = eINSTANCE.getRichStringLiteralStart_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralEndImpl <em>Rich String Literal End</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralEndImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getRichStringLiteralEnd()
+ * @generated
+ */
+ EClass RICH_STRING_LITERAL_END = eINSTANCE.getRichStringLiteralEnd();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RICH_STRING_LITERAL_END__VALUE = eINSTANCE.getRichStringLiteralEnd_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralInbetweenImpl <em>Rich String Literal Inbetween</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralInbetweenImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getRichStringLiteralInbetween()
+ * @generated
+ */
+ EClass RICH_STRING_LITERAL_INBETWEEN = eINSTANCE.getRichStringLiteralInbetween();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RICH_STRING_LITERAL_INBETWEEN__VALUE = eINSTANCE.getRichStringLiteralInbetween_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichVarPartImpl <em>Rich Var Part</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.RichVarPartImpl
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getRichVarPart()
+ * @generated
+ */
+ EClass RICH_VAR_PART = eINSTANCE.getRichVarPart();
+
+ /**
+ * The meta object literal for the '<em><b>Key</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RICH_VAR_PART__KEY = eINSTANCE.getRichVarPart_Key();
+
+ /**
+ * The meta object literal for the '<em><b>Format</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RICH_VAR_PART__FORMAT = eINSTANCE.getRichVarPart_Format();
+
+ /**
+ * The meta object literal for the '<em><b>Formatter Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RICH_VAR_PART__FORMATTER_CLASS = eINSTANCE.getRichVarPart_FormatterClass();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.fx.ide.l10n.nLSDsl.PredefinedTypes <em>Predefined Types</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.PredefinedTypes
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSDslPackageImpl#getPredefinedTypes()
+ * @generated
+ */
+ EEnum PREDEFINED_TYPES = eINSTANCE.getPredefinedTypes();
+
+ }
+
+} //NLSDslPackage
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLSFormatter.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLSFormatter.java
new file mode 100644
index 000000000..66fb9cb0d
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/NLSFormatter.java
@@ -0,0 +1,78 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>NLS Formatter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter#getClassRef <em>Class Ref</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getNLSFormatter()
+ * @model
+ * @generated
+ */
+public interface NLSFormatter extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getNLSFormatter_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Class Ref</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Class Ref</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Class Ref</em>' attribute.
+ * @see #setClassRef(String)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getNLSFormatter_ClassRef()
+ * @model
+ * @generated
+ */
+ String getClassRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter#getClassRef <em>Class Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Class Ref</em>' attribute.
+ * @see #getClassRef()
+ * @generated
+ */
+ void setClassRef(String value);
+
+} // NLSFormatter
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/PackageDeclaration.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/PackageDeclaration.java
new file mode 100644
index 000000000..ece86151f
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/PackageDeclaration.java
@@ -0,0 +1,51 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Package Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.PackageDeclaration#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getPackageDeclaration()
+ * @model
+ * @generated
+ */
+public interface PackageDeclaration extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getPackageDeclaration_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.PackageDeclaration#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // PackageDeclaration
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/PredefinedTypes.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/PredefinedTypes.java
new file mode 100644
index 000000000..a5ab87d79
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/PredefinedTypes.java
@@ -0,0 +1,250 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Predefined Types</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getPredefinedTypes()
+ * @model
+ * @generated
+ */
+public enum PredefinedTypes implements Enumerator
+{
+ /**
+ * The '<em><b>ANY</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ANY_VALUE
+ * @generated
+ * @ordered
+ */
+ ANY(0, "ANY", "ANY"),
+
+ /**
+ * The '<em><b>NUMBER</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NUMBER_VALUE
+ * @generated
+ * @ordered
+ */
+ NUMBER(1, "NUMBER", "NUMBER"),
+
+ /**
+ * The '<em><b>DATE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #DATE_VALUE
+ * @generated
+ * @ordered
+ */
+ DATE(2, "DATE", "DATE");
+
+ /**
+ * The '<em><b>ANY</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ANY</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ANY
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ANY_VALUE = 0;
+
+ /**
+ * The '<em><b>NUMBER</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>NUMBER</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NUMBER
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int NUMBER_VALUE = 1;
+
+ /**
+ * The '<em><b>DATE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>DATE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #DATE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int DATE_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Predefined Types</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final PredefinedTypes[] VALUES_ARRAY =
+ new PredefinedTypes[]
+ {
+ ANY,
+ NUMBER,
+ DATE,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Predefined Types</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<PredefinedTypes> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Predefined Types</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PredefinedTypes get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ PredefinedTypes result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Predefined Types</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PredefinedTypes getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ PredefinedTypes result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Predefined Types</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PredefinedTypes get(int value)
+ {
+ switch (value)
+ {
+ case ANY_VALUE: return ANY;
+ case NUMBER_VALUE: return NUMBER;
+ case DATE_VALUE: return DATE;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private PredefinedTypes(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //PredefinedTypes
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichString.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichString.java
new file mode 100644
index 000000000..6ad3ead98
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichString.java
@@ -0,0 +1,43 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rich String</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.RichString#getExpressions <em>Expressions</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getRichString()
+ * @model
+ * @generated
+ */
+public interface RichString extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Expressions</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.EObject}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expressions</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Expressions</em>' containment reference list.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getRichString_Expressions()
+ * @model containment="true"
+ * @generated
+ */
+ EList<EObject> getExpressions();
+
+} // RichString
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichStringLiteral.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichStringLiteral.java
new file mode 100644
index 000000000..b90ac36f5
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichStringLiteral.java
@@ -0,0 +1,51 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rich String Literal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteral#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getRichStringLiteral()
+ * @model
+ * @generated
+ */
+public interface RichStringLiteral extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getRichStringLiteral_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteral#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // RichStringLiteral
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichStringLiteralEnd.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichStringLiteralEnd.java
new file mode 100644
index 000000000..1cfb5c226
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichStringLiteralEnd.java
@@ -0,0 +1,51 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rich String Literal End</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralEnd#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getRichStringLiteralEnd()
+ * @model
+ * @generated
+ */
+public interface RichStringLiteralEnd extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getRichStringLiteralEnd_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralEnd#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // RichStringLiteralEnd
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichStringLiteralInbetween.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichStringLiteralInbetween.java
new file mode 100644
index 000000000..0cae60a7a
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichStringLiteralInbetween.java
@@ -0,0 +1,51 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rich String Literal Inbetween</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralInbetween#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getRichStringLiteralInbetween()
+ * @model
+ * @generated
+ */
+public interface RichStringLiteralInbetween extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getRichStringLiteralInbetween_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralInbetween#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // RichStringLiteralInbetween
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichStringLiteralStart.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichStringLiteralStart.java
new file mode 100644
index 000000000..d276ad580
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichStringLiteralStart.java
@@ -0,0 +1,51 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rich String Literal Start</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralStart#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getRichStringLiteralStart()
+ * @model
+ * @generated
+ */
+public interface RichStringLiteralStart extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getRichStringLiteralStart_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralStart#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // RichStringLiteralStart
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichVarPart.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichVarPart.java
new file mode 100644
index 000000000..26485eb25
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/RichVarPart.java
@@ -0,0 +1,105 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rich Var Part</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart#getKey <em>Key</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart#getFormat <em>Format</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart#getFormatterClass <em>Formatter Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getRichVarPart()
+ * @model
+ * @generated
+ */
+public interface RichVarPart extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Key</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Key</em>' attribute.
+ * @see #setKey(String)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getRichVarPart_Key()
+ * @model
+ * @generated
+ */
+ String getKey();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart#getKey <em>Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Key</em>' attribute.
+ * @see #getKey()
+ * @generated
+ */
+ void setKey(String value);
+
+ /**
+ * Returns the value of the '<em><b>Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Format</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Format</em>' attribute.
+ * @see #setFormat(String)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getRichVarPart_Format()
+ * @model
+ * @generated
+ */
+ String getFormat();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart#getFormat <em>Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Format</em>' attribute.
+ * @see #getFormat()
+ * @generated
+ */
+ void setFormat(String value);
+
+ /**
+ * Returns the value of the '<em><b>Formatter Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Formatter Class</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Formatter Class</em>' reference.
+ * @see #setFormatterClass(NLSFormatter)
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#getRichVarPart_FormatterClass()
+ * @model
+ * @generated
+ */
+ NLSFormatter getFormatterClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart#getFormatterClass <em>Formatter Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Formatter Class</em>' reference.
+ * @see #getFormatterClass()
+ * @generated
+ */
+ void setFormatterClass(NLSFormatter value);
+
+} // RichVarPart
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/MessageEntryImpl.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/MessageEntryImpl.java
new file mode 100644
index 000000000..ecf64dc6e
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/MessageEntryImpl.java
@@ -0,0 +1,344 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.Message;
+import org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry;
+import org.eclipse.fx.ide.l10n.nLSDsl.MessageParam;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Message Entry</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageEntryImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageEntryImpl#getParamList <em>Param List</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageEntryImpl#getMessageList <em>Message List</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageEntryImpl#getEntryRef <em>Entry Ref</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MessageEntryImpl extends MinimalEObjectImpl.Container implements MessageEntry
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getParamList() <em>Param List</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParamList()
+ * @generated
+ * @ordered
+ */
+ protected EList<MessageParam> paramList;
+
+ /**
+ * The cached value of the '{@link #getMessageList() <em>Message List</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageList()
+ * @generated
+ * @ordered
+ */
+ protected EList<Message> messageList;
+
+ /**
+ * The cached value of the '{@link #getEntryRef() <em>Entry Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEntryRef()
+ * @generated
+ * @ordered
+ */
+ protected MessageEntry entryRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MessageEntryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NLSDslPackage.Literals.MESSAGE_ENTRY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.MESSAGE_ENTRY__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MessageParam> getParamList()
+ {
+ if (paramList == null)
+ {
+ paramList = new EObjectContainmentEList<MessageParam>(MessageParam.class, this, NLSDslPackage.MESSAGE_ENTRY__PARAM_LIST);
+ }
+ return paramList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Message> getMessageList()
+ {
+ if (messageList == null)
+ {
+ messageList = new EObjectContainmentEList<Message>(Message.class, this, NLSDslPackage.MESSAGE_ENTRY__MESSAGE_LIST);
+ }
+ return messageList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageEntry getEntryRef()
+ {
+ if (entryRef != null && entryRef.eIsProxy())
+ {
+ InternalEObject oldEntryRef = (InternalEObject)entryRef;
+ entryRef = (MessageEntry)eResolveProxy(oldEntryRef);
+ if (entryRef != oldEntryRef)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, NLSDslPackage.MESSAGE_ENTRY__ENTRY_REF, oldEntryRef, entryRef));
+ }
+ }
+ return entryRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageEntry basicGetEntryRef()
+ {
+ return entryRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEntryRef(MessageEntry newEntryRef)
+ {
+ MessageEntry oldEntryRef = entryRef;
+ entryRef = newEntryRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.MESSAGE_ENTRY__ENTRY_REF, oldEntryRef, entryRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.MESSAGE_ENTRY__PARAM_LIST:
+ return ((InternalEList<?>)getParamList()).basicRemove(otherEnd, msgs);
+ case NLSDslPackage.MESSAGE_ENTRY__MESSAGE_LIST:
+ return ((InternalEList<?>)getMessageList()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.MESSAGE_ENTRY__NAME:
+ return getName();
+ case NLSDslPackage.MESSAGE_ENTRY__PARAM_LIST:
+ return getParamList();
+ case NLSDslPackage.MESSAGE_ENTRY__MESSAGE_LIST:
+ return getMessageList();
+ case NLSDslPackage.MESSAGE_ENTRY__ENTRY_REF:
+ if (resolve) return getEntryRef();
+ return basicGetEntryRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.MESSAGE_ENTRY__NAME:
+ setName((String)newValue);
+ return;
+ case NLSDslPackage.MESSAGE_ENTRY__PARAM_LIST:
+ getParamList().clear();
+ getParamList().addAll((Collection<? extends MessageParam>)newValue);
+ return;
+ case NLSDslPackage.MESSAGE_ENTRY__MESSAGE_LIST:
+ getMessageList().clear();
+ getMessageList().addAll((Collection<? extends Message>)newValue);
+ return;
+ case NLSDslPackage.MESSAGE_ENTRY__ENTRY_REF:
+ setEntryRef((MessageEntry)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.MESSAGE_ENTRY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NLSDslPackage.MESSAGE_ENTRY__PARAM_LIST:
+ getParamList().clear();
+ return;
+ case NLSDslPackage.MESSAGE_ENTRY__MESSAGE_LIST:
+ getMessageList().clear();
+ return;
+ case NLSDslPackage.MESSAGE_ENTRY__ENTRY_REF:
+ setEntryRef((MessageEntry)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.MESSAGE_ENTRY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NLSDslPackage.MESSAGE_ENTRY__PARAM_LIST:
+ return paramList != null && !paramList.isEmpty();
+ case NLSDslPackage.MESSAGE_ENTRY__MESSAGE_LIST:
+ return messageList != null && !messageList.isEmpty();
+ case NLSDslPackage.MESSAGE_ENTRY__ENTRY_REF:
+ return entryRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MessageEntryImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/MessageImpl.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/MessageImpl.java
new file mode 100644
index 000000000..d7bc8a969
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/MessageImpl.java
@@ -0,0 +1,265 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.Message;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichString;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Message</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageImpl#getMessage <em>Message</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MessageImpl extends MinimalEObjectImpl.Container implements Message
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMessage() <em>Message</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessage()
+ * @generated
+ * @ordered
+ */
+ protected RichString message;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MessageImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NLSDslPackage.Literals.MESSAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.MESSAGE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RichString getMessage()
+ {
+ return message;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetMessage(RichString newMessage, NotificationChain msgs)
+ {
+ RichString oldMessage = message;
+ message = newMessage;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, NLSDslPackage.MESSAGE__MESSAGE, oldMessage, newMessage);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMessage(RichString newMessage)
+ {
+ if (newMessage != message)
+ {
+ NotificationChain msgs = null;
+ if (message != null)
+ msgs = ((InternalEObject)message).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - NLSDslPackage.MESSAGE__MESSAGE, null, msgs);
+ if (newMessage != null)
+ msgs = ((InternalEObject)newMessage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - NLSDslPackage.MESSAGE__MESSAGE, null, msgs);
+ msgs = basicSetMessage(newMessage, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.MESSAGE__MESSAGE, newMessage, newMessage));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.MESSAGE__MESSAGE:
+ return basicSetMessage(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.MESSAGE__NAME:
+ return getName();
+ case NLSDslPackage.MESSAGE__MESSAGE:
+ return getMessage();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.MESSAGE__NAME:
+ setName((String)newValue);
+ return;
+ case NLSDslPackage.MESSAGE__MESSAGE:
+ setMessage((RichString)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.MESSAGE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NLSDslPackage.MESSAGE__MESSAGE:
+ setMessage((RichString)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.MESSAGE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NLSDslPackage.MESSAGE__MESSAGE:
+ return message != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MessageImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/MessageParamImpl.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/MessageParamImpl.java
new file mode 100644
index 000000000..e65aaa12e
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/MessageParamImpl.java
@@ -0,0 +1,234 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.MessageParam;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage;
+import org.eclipse.fx.ide.l10n.nLSDsl.PredefinedTypes;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Message Param</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageParamImpl#getPredefined <em>Predefined</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.MessageParamImpl#getVar <em>Var</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MessageParamImpl extends MinimalEObjectImpl.Container implements MessageParam
+{
+ /**
+ * The default value of the '{@link #getPredefined() <em>Predefined</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPredefined()
+ * @generated
+ * @ordered
+ */
+ protected static final PredefinedTypes PREDEFINED_EDEFAULT = PredefinedTypes.ANY;
+
+ /**
+ * The cached value of the '{@link #getPredefined() <em>Predefined</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPredefined()
+ * @generated
+ * @ordered
+ */
+ protected PredefinedTypes predefined = PREDEFINED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVar() <em>Var</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVar()
+ * @generated
+ * @ordered
+ */
+ protected static final String VAR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVar() <em>Var</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVar()
+ * @generated
+ * @ordered
+ */
+ protected String var = VAR_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MessageParamImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NLSDslPackage.Literals.MESSAGE_PARAM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PredefinedTypes getPredefined()
+ {
+ return predefined;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPredefined(PredefinedTypes newPredefined)
+ {
+ PredefinedTypes oldPredefined = predefined;
+ predefined = newPredefined == null ? PREDEFINED_EDEFAULT : newPredefined;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.MESSAGE_PARAM__PREDEFINED, oldPredefined, predefined));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getVar()
+ {
+ return var;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVar(String newVar)
+ {
+ String oldVar = var;
+ var = newVar;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.MESSAGE_PARAM__VAR, oldVar, var));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.MESSAGE_PARAM__PREDEFINED:
+ return getPredefined();
+ case NLSDslPackage.MESSAGE_PARAM__VAR:
+ return getVar();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.MESSAGE_PARAM__PREDEFINED:
+ setPredefined((PredefinedTypes)newValue);
+ return;
+ case NLSDslPackage.MESSAGE_PARAM__VAR:
+ setVar((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.MESSAGE_PARAM__PREDEFINED:
+ setPredefined(PREDEFINED_EDEFAULT);
+ return;
+ case NLSDslPackage.MESSAGE_PARAM__VAR:
+ setVar(VAR_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.MESSAGE_PARAM__PREDEFINED:
+ return predefined != PREDEFINED_EDEFAULT;
+ case NLSDslPackage.MESSAGE_PARAM__VAR:
+ return VAR_EDEFAULT == null ? var != null : !VAR_EDEFAULT.equals(var);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (predefined: ");
+ result.append(predefined);
+ result.append(", var: ");
+ result.append(var);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MessageParamImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSBundleImpl.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSBundleImpl.java
new file mode 100644
index 000000000..fd1bba14b
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSBundleImpl.java
@@ -0,0 +1,335 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>NLS Bundle</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSBundleImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSBundleImpl#getLang <em>Lang</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSBundleImpl#getFormatterList <em>Formatter List</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSBundleImpl#getMessageEntryList <em>Message Entry List</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NLSBundleImpl extends MinimalEObjectImpl.Container implements NLSBundle
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLang() <em>Lang</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLang()
+ * @generated
+ * @ordered
+ */
+ protected static final String LANG_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLang() <em>Lang</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLang()
+ * @generated
+ * @ordered
+ */
+ protected String lang = LANG_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getFormatterList() <em>Formatter List</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFormatterList()
+ * @generated
+ * @ordered
+ */
+ protected EList<NLSFormatter> formatterList;
+
+ /**
+ * The cached value of the '{@link #getMessageEntryList() <em>Message Entry List</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageEntryList()
+ * @generated
+ * @ordered
+ */
+ protected EList<MessageEntry> messageEntryList;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NLSBundleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NLSDslPackage.Literals.NLS_BUNDLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.NLS_BUNDLE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLang()
+ {
+ return lang;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLang(String newLang)
+ {
+ String oldLang = lang;
+ lang = newLang;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.NLS_BUNDLE__LANG, oldLang, lang));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NLSFormatter> getFormatterList()
+ {
+ if (formatterList == null)
+ {
+ formatterList = new EObjectContainmentEList<NLSFormatter>(NLSFormatter.class, this, NLSDslPackage.NLS_BUNDLE__FORMATTER_LIST);
+ }
+ return formatterList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MessageEntry> getMessageEntryList()
+ {
+ if (messageEntryList == null)
+ {
+ messageEntryList = new EObjectContainmentEList<MessageEntry>(MessageEntry.class, this, NLSDslPackage.NLS_BUNDLE__MESSAGE_ENTRY_LIST);
+ }
+ return messageEntryList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.NLS_BUNDLE__FORMATTER_LIST:
+ return ((InternalEList<?>)getFormatterList()).basicRemove(otherEnd, msgs);
+ case NLSDslPackage.NLS_BUNDLE__MESSAGE_ENTRY_LIST:
+ return ((InternalEList<?>)getMessageEntryList()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.NLS_BUNDLE__NAME:
+ return getName();
+ case NLSDslPackage.NLS_BUNDLE__LANG:
+ return getLang();
+ case NLSDslPackage.NLS_BUNDLE__FORMATTER_LIST:
+ return getFormatterList();
+ case NLSDslPackage.NLS_BUNDLE__MESSAGE_ENTRY_LIST:
+ return getMessageEntryList();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.NLS_BUNDLE__NAME:
+ setName((String)newValue);
+ return;
+ case NLSDslPackage.NLS_BUNDLE__LANG:
+ setLang((String)newValue);
+ return;
+ case NLSDslPackage.NLS_BUNDLE__FORMATTER_LIST:
+ getFormatterList().clear();
+ getFormatterList().addAll((Collection<? extends NLSFormatter>)newValue);
+ return;
+ case NLSDslPackage.NLS_BUNDLE__MESSAGE_ENTRY_LIST:
+ getMessageEntryList().clear();
+ getMessageEntryList().addAll((Collection<? extends MessageEntry>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.NLS_BUNDLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NLSDslPackage.NLS_BUNDLE__LANG:
+ setLang(LANG_EDEFAULT);
+ return;
+ case NLSDslPackage.NLS_BUNDLE__FORMATTER_LIST:
+ getFormatterList().clear();
+ return;
+ case NLSDslPackage.NLS_BUNDLE__MESSAGE_ENTRY_LIST:
+ getMessageEntryList().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.NLS_BUNDLE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NLSDslPackage.NLS_BUNDLE__LANG:
+ return LANG_EDEFAULT == null ? lang != null : !LANG_EDEFAULT.equals(lang);
+ case NLSDslPackage.NLS_BUNDLE__FORMATTER_LIST:
+ return formatterList != null && !formatterList.isEmpty();
+ case NLSDslPackage.NLS_BUNDLE__MESSAGE_ENTRY_LIST:
+ return messageEntryList != null && !messageEntryList.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", lang: ");
+ result.append(lang);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NLSBundleImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSDslFactoryImpl.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSDslFactoryImpl.java
new file mode 100644
index 000000000..c2ab7325b
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSDslFactoryImpl.java
@@ -0,0 +1,307 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NLSDslFactoryImpl extends EFactoryImpl implements NLSDslFactory
+{
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NLSDslFactory init()
+ {
+ try
+ {
+ NLSDslFactory theNLSDslFactory = (NLSDslFactory)EPackage.Registry.INSTANCE.getEFactory(NLSDslPackage.eNS_URI);
+ if (theNLSDslFactory != null)
+ {
+ return theNLSDslFactory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NLSDslFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NLSDslFactoryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case NLSDslPackage.NLS: return createNLS();
+ case NLSDslPackage.PACKAGE_DECLARATION: return createPackageDeclaration();
+ case NLSDslPackage.NLS_BUNDLE: return createNLSBundle();
+ case NLSDslPackage.NLS_FORMATTER: return createNLSFormatter();
+ case NLSDslPackage.MESSAGE_ENTRY: return createMessageEntry();
+ case NLSDslPackage.MESSAGE_PARAM: return createMessageParam();
+ case NLSDslPackage.MESSAGE: return createMessage();
+ case NLSDslPackage.RICH_STRING: return createRichString();
+ case NLSDslPackage.RICH_STRING_LITERAL: return createRichStringLiteral();
+ case NLSDslPackage.RICH_STRING_LITERAL_START: return createRichStringLiteralStart();
+ case NLSDslPackage.RICH_STRING_LITERAL_END: return createRichStringLiteralEnd();
+ case NLSDslPackage.RICH_STRING_LITERAL_INBETWEEN: return createRichStringLiteralInbetween();
+ case NLSDslPackage.RICH_VAR_PART: return createRichVarPart();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+ case NLSDslPackage.PREDEFINED_TYPES:
+ return createPredefinedTypesFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+ case NLSDslPackage.PREDEFINED_TYPES:
+ return convertPredefinedTypesToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NLS createNLS()
+ {
+ NLSImpl nls = new NLSImpl();
+ return nls;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageDeclaration createPackageDeclaration()
+ {
+ PackageDeclarationImpl packageDeclaration = new PackageDeclarationImpl();
+ return packageDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NLSBundle createNLSBundle()
+ {
+ NLSBundleImpl nlsBundle = new NLSBundleImpl();
+ return nlsBundle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NLSFormatter createNLSFormatter()
+ {
+ NLSFormatterImpl nlsFormatter = new NLSFormatterImpl();
+ return nlsFormatter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageEntry createMessageEntry()
+ {
+ MessageEntryImpl messageEntry = new MessageEntryImpl();
+ return messageEntry;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageParam createMessageParam()
+ {
+ MessageParamImpl messageParam = new MessageParamImpl();
+ return messageParam;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Message createMessage()
+ {
+ MessageImpl message = new MessageImpl();
+ return message;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RichString createRichString()
+ {
+ RichStringImpl richString = new RichStringImpl();
+ return richString;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RichStringLiteral createRichStringLiteral()
+ {
+ RichStringLiteralImpl richStringLiteral = new RichStringLiteralImpl();
+ return richStringLiteral;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RichStringLiteralStart createRichStringLiteralStart()
+ {
+ RichStringLiteralStartImpl richStringLiteralStart = new RichStringLiteralStartImpl();
+ return richStringLiteralStart;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RichStringLiteralEnd createRichStringLiteralEnd()
+ {
+ RichStringLiteralEndImpl richStringLiteralEnd = new RichStringLiteralEndImpl();
+ return richStringLiteralEnd;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RichStringLiteralInbetween createRichStringLiteralInbetween()
+ {
+ RichStringLiteralInbetweenImpl richStringLiteralInbetween = new RichStringLiteralInbetweenImpl();
+ return richStringLiteralInbetween;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RichVarPart createRichVarPart()
+ {
+ RichVarPartImpl richVarPart = new RichVarPartImpl();
+ return richVarPart;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PredefinedTypes createPredefinedTypesFromString(EDataType eDataType, String initialValue)
+ {
+ PredefinedTypes result = PredefinedTypes.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertPredefinedTypesToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NLSDslPackage getNLSDslPackage()
+ {
+ return (NLSDslPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NLSDslPackage getPackage()
+ {
+ return NLSDslPackage.eINSTANCE;
+ }
+
+} //NLSDslFactoryImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSDslPackageImpl.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSDslPackageImpl.java
new file mode 100644
index 000000000..f5cfad584
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSDslPackageImpl.java
@@ -0,0 +1,765 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.Message;
+import org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry;
+import org.eclipse.fx.ide.l10n.nLSDsl.MessageParam;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSDslFactory;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter;
+import org.eclipse.fx.ide.l10n.nLSDsl.PackageDeclaration;
+import org.eclipse.fx.ide.l10n.nLSDsl.PredefinedTypes;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichString;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteral;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralEnd;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralInbetween;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralStart;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NLSDslPackageImpl extends EPackageImpl implements NLSDslPackage
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass nlsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass packageDeclarationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass nlsBundleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass nlsFormatterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass messageEntryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass messageParamEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass messageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass richStringEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass richStringLiteralEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass richStringLiteralStartEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass richStringLiteralEndEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass richStringLiteralInbetweenEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass richVarPartEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum predefinedTypesEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private NLSDslPackageImpl()
+ {
+ super(eNS_URI, NLSDslFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link NLSDslPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static NLSDslPackage init()
+ {
+ if (isInited) return (NLSDslPackage)EPackage.Registry.INSTANCE.getEPackage(NLSDslPackage.eNS_URI);
+
+ // Obtain or create and register package
+ NLSDslPackageImpl theNLSDslPackage = (NLSDslPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof NLSDslPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new NLSDslPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theNLSDslPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theNLSDslPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theNLSDslPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(NLSDslPackage.eNS_URI, theNLSDslPackage);
+ return theNLSDslPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNLS()
+ {
+ return nlsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNLS_Package()
+ {
+ return (EReference)nlsEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNLS_BundleList()
+ {
+ return (EReference)nlsEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPackageDeclaration()
+ {
+ return packageDeclarationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPackageDeclaration_Name()
+ {
+ return (EAttribute)packageDeclarationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNLSBundle()
+ {
+ return nlsBundleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNLSBundle_Name()
+ {
+ return (EAttribute)nlsBundleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNLSBundle_Lang()
+ {
+ return (EAttribute)nlsBundleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNLSBundle_FormatterList()
+ {
+ return (EReference)nlsBundleEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNLSBundle_MessageEntryList()
+ {
+ return (EReference)nlsBundleEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNLSFormatter()
+ {
+ return nlsFormatterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNLSFormatter_Name()
+ {
+ return (EAttribute)nlsFormatterEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNLSFormatter_ClassRef()
+ {
+ return (EAttribute)nlsFormatterEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMessageEntry()
+ {
+ return messageEntryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMessageEntry_Name()
+ {
+ return (EAttribute)messageEntryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageEntry_ParamList()
+ {
+ return (EReference)messageEntryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageEntry_MessageList()
+ {
+ return (EReference)messageEntryEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageEntry_EntryRef()
+ {
+ return (EReference)messageEntryEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMessageParam()
+ {
+ return messageParamEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMessageParam_Predefined()
+ {
+ return (EAttribute)messageParamEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMessageParam_Var()
+ {
+ return (EAttribute)messageParamEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMessage()
+ {
+ return messageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMessage_Name()
+ {
+ return (EAttribute)messageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessage_Message()
+ {
+ return (EReference)messageEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRichString()
+ {
+ return richStringEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRichString_Expressions()
+ {
+ return (EReference)richStringEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRichStringLiteral()
+ {
+ return richStringLiteralEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRichStringLiteral_Value()
+ {
+ return (EAttribute)richStringLiteralEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRichStringLiteralStart()
+ {
+ return richStringLiteralStartEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRichStringLiteralStart_Value()
+ {
+ return (EAttribute)richStringLiteralStartEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRichStringLiteralEnd()
+ {
+ return richStringLiteralEndEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRichStringLiteralEnd_Value()
+ {
+ return (EAttribute)richStringLiteralEndEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRichStringLiteralInbetween()
+ {
+ return richStringLiteralInbetweenEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRichStringLiteralInbetween_Value()
+ {
+ return (EAttribute)richStringLiteralInbetweenEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRichVarPart()
+ {
+ return richVarPartEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRichVarPart_Key()
+ {
+ return (EAttribute)richVarPartEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRichVarPart_Format()
+ {
+ return (EAttribute)richVarPartEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRichVarPart_FormatterClass()
+ {
+ return (EReference)richVarPartEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getPredefinedTypes()
+ {
+ return predefinedTypesEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NLSDslFactory getNLSDslFactory()
+ {
+ return (NLSDslFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents()
+ {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ nlsEClass = createEClass(NLS);
+ createEReference(nlsEClass, NLS__PACKAGE);
+ createEReference(nlsEClass, NLS__BUNDLE_LIST);
+
+ packageDeclarationEClass = createEClass(PACKAGE_DECLARATION);
+ createEAttribute(packageDeclarationEClass, PACKAGE_DECLARATION__NAME);
+
+ nlsBundleEClass = createEClass(NLS_BUNDLE);
+ createEAttribute(nlsBundleEClass, NLS_BUNDLE__NAME);
+ createEAttribute(nlsBundleEClass, NLS_BUNDLE__LANG);
+ createEReference(nlsBundleEClass, NLS_BUNDLE__FORMATTER_LIST);
+ createEReference(nlsBundleEClass, NLS_BUNDLE__MESSAGE_ENTRY_LIST);
+
+ nlsFormatterEClass = createEClass(NLS_FORMATTER);
+ createEAttribute(nlsFormatterEClass, NLS_FORMATTER__NAME);
+ createEAttribute(nlsFormatterEClass, NLS_FORMATTER__CLASS_REF);
+
+ messageEntryEClass = createEClass(MESSAGE_ENTRY);
+ createEAttribute(messageEntryEClass, MESSAGE_ENTRY__NAME);
+ createEReference(messageEntryEClass, MESSAGE_ENTRY__PARAM_LIST);
+ createEReference(messageEntryEClass, MESSAGE_ENTRY__MESSAGE_LIST);
+ createEReference(messageEntryEClass, MESSAGE_ENTRY__ENTRY_REF);
+
+ messageParamEClass = createEClass(MESSAGE_PARAM);
+ createEAttribute(messageParamEClass, MESSAGE_PARAM__PREDEFINED);
+ createEAttribute(messageParamEClass, MESSAGE_PARAM__VAR);
+
+ messageEClass = createEClass(MESSAGE);
+ createEAttribute(messageEClass, MESSAGE__NAME);
+ createEReference(messageEClass, MESSAGE__MESSAGE);
+
+ richStringEClass = createEClass(RICH_STRING);
+ createEReference(richStringEClass, RICH_STRING__EXPRESSIONS);
+
+ richStringLiteralEClass = createEClass(RICH_STRING_LITERAL);
+ createEAttribute(richStringLiteralEClass, RICH_STRING_LITERAL__VALUE);
+
+ richStringLiteralStartEClass = createEClass(RICH_STRING_LITERAL_START);
+ createEAttribute(richStringLiteralStartEClass, RICH_STRING_LITERAL_START__VALUE);
+
+ richStringLiteralEndEClass = createEClass(RICH_STRING_LITERAL_END);
+ createEAttribute(richStringLiteralEndEClass, RICH_STRING_LITERAL_END__VALUE);
+
+ richStringLiteralInbetweenEClass = createEClass(RICH_STRING_LITERAL_INBETWEEN);
+ createEAttribute(richStringLiteralInbetweenEClass, RICH_STRING_LITERAL_INBETWEEN__VALUE);
+
+ richVarPartEClass = createEClass(RICH_VAR_PART);
+ createEAttribute(richVarPartEClass, RICH_VAR_PART__KEY);
+ createEAttribute(richVarPartEClass, RICH_VAR_PART__FORMAT);
+ createEReference(richVarPartEClass, RICH_VAR_PART__FORMATTER_CLASS);
+
+ // Create enums
+ predefinedTypesEEnum = createEEnum(PREDEFINED_TYPES);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents()
+ {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(nlsEClass, org.eclipse.fx.ide.l10n.nLSDsl.NLS.class, "NLS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getNLS_Package(), this.getPackageDeclaration(), null, "package", null, 0, 1, org.eclipse.fx.ide.l10n.nLSDsl.NLS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNLS_BundleList(), this.getNLSBundle(), null, "bundleList", null, 0, -1, org.eclipse.fx.ide.l10n.nLSDsl.NLS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(packageDeclarationEClass, PackageDeclaration.class, "PackageDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPackageDeclaration_Name(), ecorePackage.getEString(), "name", null, 0, 1, PackageDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(nlsBundleEClass, NLSBundle.class, "NLSBundle", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNLSBundle_Name(), ecorePackage.getEString(), "name", null, 0, 1, NLSBundle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNLSBundle_Lang(), ecorePackage.getEString(), "lang", null, 0, 1, NLSBundle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNLSBundle_FormatterList(), this.getNLSFormatter(), null, "formatterList", null, 0, -1, NLSBundle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNLSBundle_MessageEntryList(), this.getMessageEntry(), null, "messageEntryList", null, 0, -1, NLSBundle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(nlsFormatterEClass, NLSFormatter.class, "NLSFormatter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNLSFormatter_Name(), ecorePackage.getEString(), "name", null, 0, 1, NLSFormatter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNLSFormatter_ClassRef(), ecorePackage.getEString(), "classRef", null, 0, 1, NLSFormatter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(messageEntryEClass, MessageEntry.class, "MessageEntry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMessageEntry_Name(), ecorePackage.getEString(), "name", null, 0, 1, MessageEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMessageEntry_ParamList(), this.getMessageParam(), null, "paramList", null, 0, -1, MessageEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMessageEntry_MessageList(), this.getMessage(), null, "messageList", null, 0, -1, MessageEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMessageEntry_EntryRef(), this.getMessageEntry(), null, "entryRef", null, 0, 1, MessageEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(messageParamEClass, MessageParam.class, "MessageParam", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMessageParam_Predefined(), this.getPredefinedTypes(), "predefined", null, 0, 1, MessageParam.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMessageParam_Var(), ecorePackage.getEString(), "var", null, 0, 1, MessageParam.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(messageEClass, Message.class, "Message", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMessage_Name(), ecorePackage.getEString(), "name", null, 0, 1, Message.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMessage_Message(), this.getRichString(), null, "message", null, 0, 1, Message.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(richStringEClass, RichString.class, "RichString", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRichString_Expressions(), ecorePackage.getEObject(), null, "expressions", null, 0, -1, RichString.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(richStringLiteralEClass, RichStringLiteral.class, "RichStringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRichStringLiteral_Value(), ecorePackage.getEString(), "value", null, 0, 1, RichStringLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(richStringLiteralStartEClass, RichStringLiteralStart.class, "RichStringLiteralStart", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRichStringLiteralStart_Value(), ecorePackage.getEString(), "value", null, 0, 1, RichStringLiteralStart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(richStringLiteralEndEClass, RichStringLiteralEnd.class, "RichStringLiteralEnd", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRichStringLiteralEnd_Value(), ecorePackage.getEString(), "value", null, 0, 1, RichStringLiteralEnd.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(richStringLiteralInbetweenEClass, RichStringLiteralInbetween.class, "RichStringLiteralInbetween", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRichStringLiteralInbetween_Value(), ecorePackage.getEString(), "value", null, 0, 1, RichStringLiteralInbetween.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(richVarPartEClass, RichVarPart.class, "RichVarPart", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRichVarPart_Key(), ecorePackage.getEString(), "key", null, 0, 1, RichVarPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRichVarPart_Format(), ecorePackage.getEString(), "format", null, 0, 1, RichVarPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRichVarPart_FormatterClass(), this.getNLSFormatter(), null, "formatterClass", null, 0, 1, RichVarPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(predefinedTypesEEnum, PredefinedTypes.class, "PredefinedTypes");
+ addEEnumLiteral(predefinedTypesEEnum, PredefinedTypes.ANY);
+ addEEnumLiteral(predefinedTypesEEnum, PredefinedTypes.NUMBER);
+ addEEnumLiteral(predefinedTypesEEnum, PredefinedTypes.DATE);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //NLSDslPackageImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSFormatterImpl.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSFormatterImpl.java
new file mode 100644
index 000000000..89675ba52
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSFormatterImpl.java
@@ -0,0 +1,233 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>NLS Formatter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSFormatterImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSFormatterImpl#getClassRef <em>Class Ref</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NLSFormatterImpl extends MinimalEObjectImpl.Container implements NLSFormatter
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getClassRef() <em>Class Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassRef()
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASS_REF_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getClassRef() <em>Class Ref</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassRef()
+ * @generated
+ * @ordered
+ */
+ protected String classRef = CLASS_REF_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NLSFormatterImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NLSDslPackage.Literals.NLS_FORMATTER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.NLS_FORMATTER__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getClassRef()
+ {
+ return classRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClassRef(String newClassRef)
+ {
+ String oldClassRef = classRef;
+ classRef = newClassRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.NLS_FORMATTER__CLASS_REF, oldClassRef, classRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.NLS_FORMATTER__NAME:
+ return getName();
+ case NLSDslPackage.NLS_FORMATTER__CLASS_REF:
+ return getClassRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.NLS_FORMATTER__NAME:
+ setName((String)newValue);
+ return;
+ case NLSDslPackage.NLS_FORMATTER__CLASS_REF:
+ setClassRef((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.NLS_FORMATTER__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case NLSDslPackage.NLS_FORMATTER__CLASS_REF:
+ setClassRef(CLASS_REF_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.NLS_FORMATTER__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case NLSDslPackage.NLS_FORMATTER__CLASS_REF:
+ return CLASS_REF_EDEFAULT == null ? classRef != null : !CLASS_REF_EDEFAULT.equals(classRef);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", classRef: ");
+ result.append(classRef);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NLSFormatterImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSImpl.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSImpl.java
new file mode 100644
index 000000000..69bf82746
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/NLSImpl.java
@@ -0,0 +1,241 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.NLS;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage;
+import org.eclipse.fx.ide.l10n.nLSDsl.PackageDeclaration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>NLS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSImpl#getPackage <em>Package</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.NLSImpl#getBundleList <em>Bundle List</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NLSImpl extends MinimalEObjectImpl.Container implements NLS
+{
+ /**
+ * The cached value of the '{@link #getPackage() <em>Package</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPackage()
+ * @generated
+ * @ordered
+ */
+ protected PackageDeclaration package_;
+
+ /**
+ * The cached value of the '{@link #getBundleList() <em>Bundle List</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBundleList()
+ * @generated
+ * @ordered
+ */
+ protected EList<NLSBundle> bundleList;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NLSImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NLSDslPackage.Literals.NLS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageDeclaration getPackage()
+ {
+ return package_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPackage(PackageDeclaration newPackage, NotificationChain msgs)
+ {
+ PackageDeclaration oldPackage = package_;
+ package_ = newPackage;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, NLSDslPackage.NLS__PACKAGE, oldPackage, newPackage);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPackage(PackageDeclaration newPackage)
+ {
+ if (newPackage != package_)
+ {
+ NotificationChain msgs = null;
+ if (package_ != null)
+ msgs = ((InternalEObject)package_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - NLSDslPackage.NLS__PACKAGE, null, msgs);
+ if (newPackage != null)
+ msgs = ((InternalEObject)newPackage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - NLSDslPackage.NLS__PACKAGE, null, msgs);
+ msgs = basicSetPackage(newPackage, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.NLS__PACKAGE, newPackage, newPackage));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NLSBundle> getBundleList()
+ {
+ if (bundleList == null)
+ {
+ bundleList = new EObjectContainmentEList<NLSBundle>(NLSBundle.class, this, NLSDslPackage.NLS__BUNDLE_LIST);
+ }
+ return bundleList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.NLS__PACKAGE:
+ return basicSetPackage(null, msgs);
+ case NLSDslPackage.NLS__BUNDLE_LIST:
+ return ((InternalEList<?>)getBundleList()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.NLS__PACKAGE:
+ return getPackage();
+ case NLSDslPackage.NLS__BUNDLE_LIST:
+ return getBundleList();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.NLS__PACKAGE:
+ setPackage((PackageDeclaration)newValue);
+ return;
+ case NLSDslPackage.NLS__BUNDLE_LIST:
+ getBundleList().clear();
+ getBundleList().addAll((Collection<? extends NLSBundle>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.NLS__PACKAGE:
+ setPackage((PackageDeclaration)null);
+ return;
+ case NLSDslPackage.NLS__BUNDLE_LIST:
+ getBundleList().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.NLS__PACKAGE:
+ return package_ != null;
+ case NLSDslPackage.NLS__BUNDLE_LIST:
+ return bundleList != null && !bundleList.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //NLSImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/PackageDeclarationImpl.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/PackageDeclarationImpl.java
new file mode 100644
index 000000000..f9c4bc738
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/PackageDeclarationImpl.java
@@ -0,0 +1,177 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage;
+import org.eclipse.fx.ide.l10n.nLSDsl.PackageDeclaration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Package Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.PackageDeclarationImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PackageDeclarationImpl extends MinimalEObjectImpl.Container implements PackageDeclaration
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PackageDeclarationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NLSDslPackage.Literals.PACKAGE_DECLARATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.PACKAGE_DECLARATION__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.PACKAGE_DECLARATION__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.PACKAGE_DECLARATION__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.PACKAGE_DECLARATION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.PACKAGE_DECLARATION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PackageDeclarationImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringImpl.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringImpl.java
new file mode 100644
index 000000000..fad377f60
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringImpl.java
@@ -0,0 +1,167 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichString;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rich String</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringImpl#getExpressions <em>Expressions</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RichStringImpl extends MinimalEObjectImpl.Container implements RichString
+{
+ /**
+ * The cached value of the '{@link #getExpressions() <em>Expressions</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpressions()
+ * @generated
+ * @ordered
+ */
+ protected EList<EObject> expressions;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RichStringImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NLSDslPackage.Literals.RICH_STRING;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> getExpressions()
+ {
+ if (expressions == null)
+ {
+ expressions = new EObjectContainmentEList<EObject>(EObject.class, this, NLSDslPackage.RICH_STRING__EXPRESSIONS);
+ }
+ return expressions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING__EXPRESSIONS:
+ return ((InternalEList<?>)getExpressions()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING__EXPRESSIONS:
+ return getExpressions();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING__EXPRESSIONS:
+ getExpressions().clear();
+ getExpressions().addAll((Collection<? extends EObject>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING__EXPRESSIONS:
+ getExpressions().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING__EXPRESSIONS:
+ return expressions != null && !expressions.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RichStringImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringLiteralEndImpl.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringLiteralEndImpl.java
new file mode 100644
index 000000000..f0b894b83
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringLiteralEndImpl.java
@@ -0,0 +1,177 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralEnd;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rich String Literal End</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralEndImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RichStringLiteralEndImpl extends MinimalEObjectImpl.Container implements RichStringLiteralEnd
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RichStringLiteralEndImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NLSDslPackage.Literals.RICH_STRING_LITERAL_END;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.RICH_STRING_LITERAL_END__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING_LITERAL_END__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING_LITERAL_END__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING_LITERAL_END__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING_LITERAL_END__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RichStringLiteralEndImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringLiteralImpl.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringLiteralImpl.java
new file mode 100644
index 000000000..1bbea640c
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringLiteralImpl.java
@@ -0,0 +1,177 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteral;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rich String Literal</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RichStringLiteralImpl extends MinimalEObjectImpl.Container implements RichStringLiteral
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RichStringLiteralImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NLSDslPackage.Literals.RICH_STRING_LITERAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.RICH_STRING_LITERAL__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING_LITERAL__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING_LITERAL__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING_LITERAL__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING_LITERAL__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RichStringLiteralImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringLiteralInbetweenImpl.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringLiteralInbetweenImpl.java
new file mode 100644
index 000000000..196196aa0
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringLiteralInbetweenImpl.java
@@ -0,0 +1,177 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralInbetween;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rich String Literal Inbetween</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralInbetweenImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RichStringLiteralInbetweenImpl extends MinimalEObjectImpl.Container implements RichStringLiteralInbetween
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RichStringLiteralInbetweenImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NLSDslPackage.Literals.RICH_STRING_LITERAL_INBETWEEN;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.RICH_STRING_LITERAL_INBETWEEN__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING_LITERAL_INBETWEEN__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING_LITERAL_INBETWEEN__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING_LITERAL_INBETWEEN__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING_LITERAL_INBETWEEN__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RichStringLiteralInbetweenImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringLiteralStartImpl.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringLiteralStartImpl.java
new file mode 100644
index 000000000..ccfd89040
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichStringLiteralStartImpl.java
@@ -0,0 +1,177 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralStart;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rich String Literal Start</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichStringLiteralStartImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RichStringLiteralStartImpl extends MinimalEObjectImpl.Container implements RichStringLiteralStart
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RichStringLiteralStartImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NLSDslPackage.Literals.RICH_STRING_LITERAL_START;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.RICH_STRING_LITERAL_START__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING_LITERAL_START__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING_LITERAL_START__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING_LITERAL_START__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_STRING_LITERAL_START__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RichStringLiteralStartImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichVarPartImpl.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichVarPartImpl.java
new file mode 100644
index 000000000..d860b6b5c
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/impl/RichVarPartImpl.java
@@ -0,0 +1,300 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rich Var Part</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichVarPartImpl#getKey <em>Key</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichVarPartImpl#getFormat <em>Format</em>}</li>
+ * <li>{@link org.eclipse.fx.ide.l10n.nLSDsl.impl.RichVarPartImpl#getFormatterClass <em>Formatter Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RichVarPartImpl extends MinimalEObjectImpl.Container implements RichVarPart
+{
+ /**
+ * The default value of the '{@link #getKey() <em>Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKey()
+ * @generated
+ * @ordered
+ */
+ protected static final String KEY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getKey() <em>Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKey()
+ * @generated
+ * @ordered
+ */
+ protected String key = KEY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFormat() <em>Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFormat()
+ * @generated
+ * @ordered
+ */
+ protected static final String FORMAT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFormat() <em>Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFormat()
+ * @generated
+ * @ordered
+ */
+ protected String format = FORMAT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getFormatterClass() <em>Formatter Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFormatterClass()
+ * @generated
+ * @ordered
+ */
+ protected NLSFormatter formatterClass;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RichVarPartImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return NLSDslPackage.Literals.RICH_VAR_PART;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getKey()
+ {
+ return key;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKey(String newKey)
+ {
+ String oldKey = key;
+ key = newKey;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.RICH_VAR_PART__KEY, oldKey, key));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFormat()
+ {
+ return format;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFormat(String newFormat)
+ {
+ String oldFormat = format;
+ format = newFormat;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.RICH_VAR_PART__FORMAT, oldFormat, format));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NLSFormatter getFormatterClass()
+ {
+ if (formatterClass != null && formatterClass.eIsProxy())
+ {
+ InternalEObject oldFormatterClass = (InternalEObject)formatterClass;
+ formatterClass = (NLSFormatter)eResolveProxy(oldFormatterClass);
+ if (formatterClass != oldFormatterClass)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, NLSDslPackage.RICH_VAR_PART__FORMATTER_CLASS, oldFormatterClass, formatterClass));
+ }
+ }
+ return formatterClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NLSFormatter basicGetFormatterClass()
+ {
+ return formatterClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFormatterClass(NLSFormatter newFormatterClass)
+ {
+ NLSFormatter oldFormatterClass = formatterClass;
+ formatterClass = newFormatterClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NLSDslPackage.RICH_VAR_PART__FORMATTER_CLASS, oldFormatterClass, formatterClass));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_VAR_PART__KEY:
+ return getKey();
+ case NLSDslPackage.RICH_VAR_PART__FORMAT:
+ return getFormat();
+ case NLSDslPackage.RICH_VAR_PART__FORMATTER_CLASS:
+ if (resolve) return getFormatterClass();
+ return basicGetFormatterClass();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_VAR_PART__KEY:
+ setKey((String)newValue);
+ return;
+ case NLSDslPackage.RICH_VAR_PART__FORMAT:
+ setFormat((String)newValue);
+ return;
+ case NLSDslPackage.RICH_VAR_PART__FORMATTER_CLASS:
+ setFormatterClass((NLSFormatter)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_VAR_PART__KEY:
+ setKey(KEY_EDEFAULT);
+ return;
+ case NLSDslPackage.RICH_VAR_PART__FORMAT:
+ setFormat(FORMAT_EDEFAULT);
+ return;
+ case NLSDslPackage.RICH_VAR_PART__FORMATTER_CLASS:
+ setFormatterClass((NLSFormatter)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case NLSDslPackage.RICH_VAR_PART__KEY:
+ return KEY_EDEFAULT == null ? key != null : !KEY_EDEFAULT.equals(key);
+ case NLSDslPackage.RICH_VAR_PART__FORMAT:
+ return FORMAT_EDEFAULT == null ? format != null : !FORMAT_EDEFAULT.equals(format);
+ case NLSDslPackage.RICH_VAR_PART__FORMATTER_CLASS:
+ return formatterClass != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (key: ");
+ result.append(key);
+ result.append(", format: ");
+ result.append(format);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RichVarPartImpl
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/util/NLSDslAdapterFactory.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/util/NLSDslAdapterFactory.java
new file mode 100644
index 000000000..ed2d3b0e5
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/util/NLSDslAdapterFactory.java
@@ -0,0 +1,372 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage
+ * @generated
+ */
+public class NLSDslAdapterFactory extends AdapterFactoryImpl
+{
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static NLSDslPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NLSDslAdapterFactory()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = NLSDslPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object)
+ {
+ if (object == modelPackage)
+ {
+ return true;
+ }
+ if (object instanceof EObject)
+ {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NLSDslSwitch<Adapter> modelSwitch =
+ new NLSDslSwitch<Adapter>()
+ {
+ @Override
+ public Adapter caseNLS(NLS object)
+ {
+ return createNLSAdapter();
+ }
+ @Override
+ public Adapter casePackageDeclaration(PackageDeclaration object)
+ {
+ return createPackageDeclarationAdapter();
+ }
+ @Override
+ public Adapter caseNLSBundle(NLSBundle object)
+ {
+ return createNLSBundleAdapter();
+ }
+ @Override
+ public Adapter caseNLSFormatter(NLSFormatter object)
+ {
+ return createNLSFormatterAdapter();
+ }
+ @Override
+ public Adapter caseMessageEntry(MessageEntry object)
+ {
+ return createMessageEntryAdapter();
+ }
+ @Override
+ public Adapter caseMessageParam(MessageParam object)
+ {
+ return createMessageParamAdapter();
+ }
+ @Override
+ public Adapter caseMessage(Message object)
+ {
+ return createMessageAdapter();
+ }
+ @Override
+ public Adapter caseRichString(RichString object)
+ {
+ return createRichStringAdapter();
+ }
+ @Override
+ public Adapter caseRichStringLiteral(RichStringLiteral object)
+ {
+ return createRichStringLiteralAdapter();
+ }
+ @Override
+ public Adapter caseRichStringLiteralStart(RichStringLiteralStart object)
+ {
+ return createRichStringLiteralStartAdapter();
+ }
+ @Override
+ public Adapter caseRichStringLiteralEnd(RichStringLiteralEnd object)
+ {
+ return createRichStringLiteralEndAdapter();
+ }
+ @Override
+ public Adapter caseRichStringLiteralInbetween(RichStringLiteralInbetween object)
+ {
+ return createRichStringLiteralInbetweenAdapter();
+ }
+ @Override
+ public Adapter caseRichVarPart(RichVarPart object)
+ {
+ return createRichVarPartAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object)
+ {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target)
+ {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLS <em>NLS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLS
+ * @generated
+ */
+ public Adapter createNLSAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.l10n.nLSDsl.PackageDeclaration <em>Package Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.PackageDeclaration
+ * @generated
+ */
+ public Adapter createPackageDeclarationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle <em>NLS Bundle</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle
+ * @generated
+ */
+ public Adapter createNLSBundleAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter <em>NLS Formatter</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter
+ * @generated
+ */
+ public Adapter createNLSFormatterAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry <em>Message Entry</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry
+ * @generated
+ */
+ public Adapter createMessageEntryAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.l10n.nLSDsl.MessageParam <em>Message Param</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.MessageParam
+ * @generated
+ */
+ public Adapter createMessageParamAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.l10n.nLSDsl.Message <em>Message</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.Message
+ * @generated
+ */
+ public Adapter createMessageAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichString <em>Rich String</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichString
+ * @generated
+ */
+ public Adapter createRichStringAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteral <em>Rich String Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteral
+ * @generated
+ */
+ public Adapter createRichStringLiteralAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralStart <em>Rich String Literal Start</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralStart
+ * @generated
+ */
+ public Adapter createRichStringLiteralStartAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralEnd <em>Rich String Literal End</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralEnd
+ * @generated
+ */
+ public Adapter createRichStringLiteralEndAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralInbetween <em>Rich String Literal Inbetween</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralInbetween
+ * @generated
+ */
+ public Adapter createRichStringLiteralInbetweenAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart <em>Rich Var Part</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart
+ * @generated
+ */
+ public Adapter createRichVarPartAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter()
+ {
+ return null;
+ }
+
+} //NLSDslAdapterFactory
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/util/NLSDslSwitch.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/util/NLSDslSwitch.java
new file mode 100644
index 000000000..c7bf05577
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/nLSDsl/util/NLSDslSwitch.java
@@ -0,0 +1,395 @@
+/**
+ */
+package org.eclipse.fx.ide.l10n.nLSDsl.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.fx.ide.l10n.nLSDsl.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage
+ * @generated
+ */
+public class NLSDslSwitch<T> extends Switch<T>
+{
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static NLSDslPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NLSDslSwitch()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = NLSDslPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage)
+ {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject)
+ {
+ switch (classifierID)
+ {
+ case NLSDslPackage.NLS:
+ {
+ NLS nls = (NLS)theEObject;
+ T result = caseNLS(nls);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NLSDslPackage.PACKAGE_DECLARATION:
+ {
+ PackageDeclaration packageDeclaration = (PackageDeclaration)theEObject;
+ T result = casePackageDeclaration(packageDeclaration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NLSDslPackage.NLS_BUNDLE:
+ {
+ NLSBundle nlsBundle = (NLSBundle)theEObject;
+ T result = caseNLSBundle(nlsBundle);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NLSDslPackage.NLS_FORMATTER:
+ {
+ NLSFormatter nlsFormatter = (NLSFormatter)theEObject;
+ T result = caseNLSFormatter(nlsFormatter);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NLSDslPackage.MESSAGE_ENTRY:
+ {
+ MessageEntry messageEntry = (MessageEntry)theEObject;
+ T result = caseMessageEntry(messageEntry);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NLSDslPackage.MESSAGE_PARAM:
+ {
+ MessageParam messageParam = (MessageParam)theEObject;
+ T result = caseMessageParam(messageParam);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NLSDslPackage.MESSAGE:
+ {
+ Message message = (Message)theEObject;
+ T result = caseMessage(message);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NLSDslPackage.RICH_STRING:
+ {
+ RichString richString = (RichString)theEObject;
+ T result = caseRichString(richString);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NLSDslPackage.RICH_STRING_LITERAL:
+ {
+ RichStringLiteral richStringLiteral = (RichStringLiteral)theEObject;
+ T result = caseRichStringLiteral(richStringLiteral);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NLSDslPackage.RICH_STRING_LITERAL_START:
+ {
+ RichStringLiteralStart richStringLiteralStart = (RichStringLiteralStart)theEObject;
+ T result = caseRichStringLiteralStart(richStringLiteralStart);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NLSDslPackage.RICH_STRING_LITERAL_END:
+ {
+ RichStringLiteralEnd richStringLiteralEnd = (RichStringLiteralEnd)theEObject;
+ T result = caseRichStringLiteralEnd(richStringLiteralEnd);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NLSDslPackage.RICH_STRING_LITERAL_INBETWEEN:
+ {
+ RichStringLiteralInbetween richStringLiteralInbetween = (RichStringLiteralInbetween)theEObject;
+ T result = caseRichStringLiteralInbetween(richStringLiteralInbetween);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NLSDslPackage.RICH_VAR_PART:
+ {
+ RichVarPart richVarPart = (RichVarPart)theEObject;
+ T result = caseRichVarPart(richVarPart);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>NLS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>NLS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNLS(NLS object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Package Declaration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Package Declaration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePackageDeclaration(PackageDeclaration object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>NLS Bundle</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>NLS Bundle</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNLSBundle(NLSBundle object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>NLS Formatter</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>NLS Formatter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNLSFormatter(NLSFormatter object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Message Entry</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Message Entry</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMessageEntry(MessageEntry object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Message Param</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Message Param</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMessageParam(MessageParam object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Message</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Message</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMessage(Message object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rich String</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Rich String</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRichString(RichString object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rich String Literal</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Rich String Literal</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRichStringLiteral(RichStringLiteral object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rich String Literal Start</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Rich String Literal Start</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRichStringLiteralStart(RichStringLiteralStart object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rich String Literal End</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Rich String Literal End</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRichStringLiteralEnd(RichStringLiteralEnd object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rich String Literal Inbetween</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Rich String Literal Inbetween</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRichStringLiteralInbetween(RichStringLiteralInbetween object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rich Var Part</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Rich Var Part</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRichVarPart(RichVarPart object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object)
+ {
+ return null;
+ }
+
+} //NLSDslSwitch
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/NLSDslAntlrTokenFileProvider.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/NLSDslAntlrTokenFileProvider.java
new file mode 100644
index 000000000..b2d85ae6d
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/NLSDslAntlrTokenFileProvider.java
@@ -0,0 +1,15 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.fx.ide.l10n.parser.antlr;
+
+import java.io.InputStream;
+import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
+
+public class NLSDslAntlrTokenFileProvider implements IAntlrTokenFileProvider {
+
+ public InputStream getAntlrTokenFile() {
+ ClassLoader classLoader = getClass().getClassLoader();
+ return classLoader.getResourceAsStream("org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.tokens");
+ }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/NLSDslParser.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/NLSDslParser.java
new file mode 100644
index 000000000..c4ff10326
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/NLSDslParser.java
@@ -0,0 +1,39 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.fx.ide.l10n.parser.antlr;
+
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.fx.ide.l10n.services.NLSDslGrammarAccess;
+
+public class NLSDslParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
+
+ @Inject
+ private NLSDslGrammarAccess grammarAccess;
+
+ @Override
+ protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
+ tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+ }
+
+ @Override
+ protected org.eclipse.fx.ide.l10n.parser.antlr.internal.InternalNLSDslParser createParser(XtextTokenStream stream) {
+ return new org.eclipse.fx.ide.l10n.parser.antlr.internal.InternalNLSDslParser(stream, getGrammarAccess());
+ }
+
+ @Override
+ protected String getDefaultRuleName() {
+ return "NLS";
+ }
+
+ public NLSDslGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(NLSDslGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g
new file mode 100644
index 000000000..8be9adeeb
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g
@@ -0,0 +1,1112 @@
+/*
+* generated by Xtext
+*/
+grammar InternalNLSDsl;
+
+options {
+ superClass=AbstractInternalAntlrParser;
+
+}
+
+@lexer::header {
+package org.eclipse.fx.ide.l10n.parser.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.parser.antlr.Lexer;
+}
+
+@parser::header {
+package org.eclipse.fx.ide.l10n.parser.antlr.internal;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.common.util.Enumerator;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import org.eclipse.fx.ide.l10n.services.NLSDslGrammarAccess;
+
+}
+
+@parser::members {
+
+ private NLSDslGrammarAccess grammarAccess;
+
+ public InternalNLSDslParser(TokenStream input, NLSDslGrammarAccess grammarAccess) {
+ this(input);
+ this.grammarAccess = grammarAccess;
+ registerRules(grammarAccess.getGrammar());
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "NLS";
+ }
+
+ @Override
+ protected NLSDslGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+}
+
+@rulecatch {
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+}
+
+
+
+
+// Entry rule entryRuleNLS
+entryRuleNLS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNLSRule()); }
+ iv_ruleNLS=ruleNLS
+ { $current=$iv_ruleNLS.current; }
+ EOF
+;
+
+// Rule NLS
+ruleNLS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getNLSAccess().getPackagePackageDeclarationParserRuleCall_0_0());
+ }
+ lv_package_0_0=rulePackageDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNLSRule());
+ }
+ set(
+ $current,
+ "package",
+ lv_package_0_0,
+ "PackageDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)? otherlv_1='{'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getNLSAccess().getLeftCurlyBracketKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNLSAccess().getBundleListNLSBundleParserRuleCall_2_0());
+ }
+ lv_bundleList_2_0=ruleNLSBundle {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNLSRule());
+ }
+ add(
+ $current,
+ "bundleList",
+ lv_bundleList_2_0,
+ "NLSBundle");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+ otherlv_3='}'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getNLSAccess().getRightCurlyBracketKeyword_3());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePackageDeclaration
+entryRulePackageDeclaration returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPackageDeclarationRule()); }
+ iv_rulePackageDeclaration=rulePackageDeclaration
+ { $current=$iv_rulePackageDeclaration.current; }
+ EOF
+;
+
+// Rule PackageDeclaration
+rulePackageDeclaration returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='package'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getPackageDeclarationAccess().getPackageKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPackageDeclarationAccess().getNameQualifiedNameParserRuleCall_1_0());
+ }
+ lv_name_1_0=ruleQualifiedName {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPackageDeclarationRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_1_0,
+ "QualifiedName");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleNLSBundle
+entryRuleNLSBundle returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNLSBundleRule()); }
+ iv_ruleNLSBundle=ruleNLSBundle
+ { $current=$iv_ruleNLSBundle.current; }
+ EOF
+;
+
+// Rule NLSBundle
+ruleNLSBundle returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='bundle'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getNLSBundleAccess().getBundleKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getNLSBundleAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getNLSBundleRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+) otherlv_2='default'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getNLSBundleAccess().getDefaultKeyword_2());
+ }
+(
+(
+ lv_lang_3_0=RULE_ID
+ {
+ newLeafNode(lv_lang_3_0, grammarAccess.getNLSBundleAccess().getLangIDTerminalRuleCall_3_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getNLSBundleRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "lang",
+ lv_lang_3_0,
+ "ID");
+ }
+
+)
+) otherlv_4='{'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getNLSBundleAccess().getLeftCurlyBracketKeyword_4());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNLSBundleAccess().getFormatterListNLSFormatterParserRuleCall_5_0());
+ }
+ lv_formatterList_5_0=ruleNLSFormatter {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNLSBundleRule());
+ }
+ add(
+ $current,
+ "formatterList",
+ lv_formatterList_5_0,
+ "NLSFormatter");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getNLSBundleAccess().getMessageEntryListMessageEntryParserRuleCall_6_0());
+ }
+ lv_messageEntryList_6_0=ruleMessageEntry {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNLSBundleRule());
+ }
+ add(
+ $current,
+ "messageEntryList",
+ lv_messageEntryList_6_0,
+ "MessageEntry");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+ otherlv_7='}'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getNLSBundleAccess().getRightCurlyBracketKeyword_7());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleNLSFormatter
+entryRuleNLSFormatter returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNLSFormatterRule()); }
+ iv_ruleNLSFormatter=ruleNLSFormatter
+ { $current=$iv_ruleNLSFormatter.current; }
+ EOF
+;
+
+// Rule NLSFormatter
+ruleNLSFormatter returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='formatter'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getNLSFormatterAccess().getFormatterKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getNLSFormatterAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getNLSFormatterRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getNLSFormatterAccess().getClassRefQualifiedNameParserRuleCall_2_0());
+ }
+ lv_classRef_2_0=ruleQualifiedName {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNLSFormatterRule());
+ }
+ set(
+ $current,
+ "classRef",
+ lv_classRef_2_0,
+ "QualifiedName");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleMessageEntry
+entryRuleMessageEntry returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getMessageEntryRule()); }
+ iv_ruleMessageEntry=ruleMessageEntry
+ { $current=$iv_ruleMessageEntry.current; }
+ EOF
+;
+
+// Rule MessageEntry
+ruleMessageEntry returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_name_0_0=RULE_ID
+ {
+ newLeafNode(lv_name_0_0, grammarAccess.getMessageEntryAccess().getNameIDTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMessageEntryRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_0_0,
+ "ID");
+ }
+
+)
+)( otherlv_1='('
+ {
+ newLeafNode(otherlv_1, grammarAccess.getMessageEntryAccess().getLeftParenthesisKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getMessageEntryAccess().getParamListMessageParamParserRuleCall_1_1_0());
+ }
+ lv_paramList_2_0=ruleMessageParam {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMessageEntryRule());
+ }
+ add(
+ $current,
+ "paramList",
+ lv_paramList_2_0,
+ "MessageParam");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_3=','
+ {
+ newLeafNode(otherlv_3, grammarAccess.getMessageEntryAccess().getCommaKeyword_1_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getMessageEntryAccess().getParamListMessageParamParserRuleCall_1_2_1_0());
+ }
+ lv_paramList_4_0=ruleMessageParam {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMessageEntryRule());
+ }
+ add(
+ $current,
+ "paramList",
+ lv_paramList_4_0,
+ "MessageParam");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_5=')'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getMessageEntryAccess().getRightParenthesisKeyword_1_3());
+ }
+)? otherlv_6=':'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getMessageEntryAccess().getColonKeyword_2());
+ }
+(( otherlv_7='{'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getMessageEntryAccess().getLeftCurlyBracketKeyword_3_0_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getMessageEntryAccess().getMessageListMessageParserRuleCall_3_0_1_0());
+ }
+ lv_messageList_8_0=ruleMessage {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMessageEntryRule());
+ }
+ add(
+ $current,
+ "messageList",
+ lv_messageList_8_0,
+ "Message");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_9=','
+ {
+ newLeafNode(otherlv_9, grammarAccess.getMessageEntryAccess().getCommaKeyword_3_0_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getMessageEntryAccess().getMessageListMessageParserRuleCall_3_0_2_1_0());
+ }
+ lv_messageList_10_0=ruleMessage {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMessageEntryRule());
+ }
+ add(
+ $current,
+ "messageList",
+ lv_messageList_10_0,
+ "Message");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_11='}'
+ {
+ newLeafNode(otherlv_11, grammarAccess.getMessageEntryAccess().getRightCurlyBracketKeyword_3_0_3());
+ }
+)
+ |( otherlv_12='['
+ {
+ newLeafNode(otherlv_12, grammarAccess.getMessageEntryAccess().getLeftSquareBracketKeyword_3_1_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMessageEntryRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getMessageEntryAccess().getEntryRefMessageEntryCrossReference_3_1_1_0());
+ }
+ ruleQualifiedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_14=']'
+ {
+ newLeafNode(otherlv_14, grammarAccess.getMessageEntryAccess().getRightSquareBracketKeyword_3_1_2());
+ }
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleMessageParam
+entryRuleMessageParam returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getMessageParamRule()); }
+ iv_ruleMessageParam=ruleMessageParam
+ { $current=$iv_ruleMessageParam.current; }
+ EOF
+;
+
+// Rule MessageParam
+ruleMessageParam returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getMessageParamAccess().getPredefinedPredefinedTypesEnumRuleCall_0_0());
+ }
+ lv_predefined_0_0=rulePredefinedTypes {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMessageParamRule());
+ }
+ set(
+ $current,
+ "predefined",
+ lv_predefined_0_0,
+ "PredefinedTypes");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ lv_var_1_0=RULE_ID
+ {
+ newLeafNode(lv_var_1_0, grammarAccess.getMessageParamAccess().getVarIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMessageParamRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "var",
+ lv_var_1_0,
+ "ID");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleMessage
+entryRuleMessage returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getMessageRule()); }
+ iv_ruleMessage=ruleMessage
+ { $current=$iv_ruleMessage.current; }
+ EOF
+;
+
+// Rule Message
+ruleMessage returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_name_0_0=RULE_ID
+ {
+ newLeafNode(lv_name_0_0, grammarAccess.getMessageAccess().getNameIDTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMessageRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_0_0,
+ "ID");
+ }
+
+)
+) otherlv_1=':'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getMessageAccess().getColonKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getMessageAccess().getMessageRichStringParserRuleCall_2_0());
+ }
+ lv_message_2_0=ruleRichString {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMessageRule());
+ }
+ set(
+ $current,
+ "message",
+ lv_message_2_0,
+ "RichString");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleRichString
+entryRuleRichString returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRichStringRule()); }
+ iv_ruleRichString=ruleRichString
+ { $current=$iv_ruleRichString.current; }
+ EOF
+;
+
+// Rule RichString
+ruleRichString returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralParserRuleCall_0_0());
+ }
+ lv_expressions_0_0=ruleRichStringLiteral {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRichStringRule());
+ }
+ add(
+ $current,
+ "expressions",
+ lv_expressions_0_0,
+ "RichStringLiteral");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |((
+(
+ {
+ newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralStartParserRuleCall_1_0_0());
+ }
+ lv_expressions_1_0=ruleRichStringLiteralStart {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRichStringRule());
+ }
+ add(
+ $current,
+ "expressions",
+ lv_expressions_1_0,
+ "RichStringLiteralStart");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichVarPartParserRuleCall_1_1_0());
+ }
+ lv_expressions_2_0=ruleRichVarPart {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRichStringRule());
+ }
+ add(
+ $current,
+ "expressions",
+ lv_expressions_2_0,
+ "RichVarPart");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?((
+(
+ {
+ newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralInbetweenParserRuleCall_1_2_0_0());
+ }
+ lv_expressions_3_0=ruleRichStringLiteralInbetween {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRichStringRule());
+ }
+ add(
+ $current,
+ "expressions",
+ lv_expressions_3_0,
+ "RichStringLiteralInbetween");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichVarPartParserRuleCall_1_2_1_0());
+ }
+ lv_expressions_4_0=ruleRichVarPart {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRichStringRule());
+ }
+ add(
+ $current,
+ "expressions",
+ lv_expressions_4_0,
+ "RichVarPart");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)*(
+(
+ {
+ newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralEndParserRuleCall_1_3_0());
+ }
+ lv_expressions_5_0=ruleRichStringLiteralEnd {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRichStringRule());
+ }
+ add(
+ $current,
+ "expressions",
+ lv_expressions_5_0,
+ "RichStringLiteralEnd");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleRichStringLiteral
+entryRuleRichStringLiteral returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRichStringLiteralRule()); }
+ iv_ruleRichStringLiteral=ruleRichStringLiteral
+ { $current=$iv_ruleRichStringLiteral.current; }
+ EOF
+;
+
+// Rule RichStringLiteral
+ruleRichStringLiteral returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ lv_value_0_0=RULE_RICH_TEXT
+ {
+ newLeafNode(lv_value_0_0, grammarAccess.getRichStringLiteralAccess().getValueRICH_TEXTTerminalRuleCall_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRichStringLiteralRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_0_0,
+ "RICH_TEXT");
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleRichStringLiteralStart
+entryRuleRichStringLiteralStart returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRichStringLiteralStartRule()); }
+ iv_ruleRichStringLiteralStart=ruleRichStringLiteralStart
+ { $current=$iv_ruleRichStringLiteralStart.current; }
+ EOF
+;
+
+// Rule RichStringLiteralStart
+ruleRichStringLiteralStart returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ lv_value_0_0=RULE_RICH_TEXT_START
+ {
+ newLeafNode(lv_value_0_0, grammarAccess.getRichStringLiteralStartAccess().getValueRICH_TEXT_STARTTerminalRuleCall_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRichStringLiteralStartRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_0_0,
+ "RICH_TEXT_START");
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleRichStringLiteralEnd
+entryRuleRichStringLiteralEnd returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRichStringLiteralEndRule()); }
+ iv_ruleRichStringLiteralEnd=ruleRichStringLiteralEnd
+ { $current=$iv_ruleRichStringLiteralEnd.current; }
+ EOF
+;
+
+// Rule RichStringLiteralEnd
+ruleRichStringLiteralEnd returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ lv_value_0_0=RULE_RICH_TEXT_END
+ {
+ newLeafNode(lv_value_0_0, grammarAccess.getRichStringLiteralEndAccess().getValueRICH_TEXT_ENDTerminalRuleCall_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRichStringLiteralEndRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_0_0,
+ "RICH_TEXT_END");
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleRichStringLiteralInbetween
+entryRuleRichStringLiteralInbetween returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRichStringLiteralInbetweenRule()); }
+ iv_ruleRichStringLiteralInbetween=ruleRichStringLiteralInbetween
+ { $current=$iv_ruleRichStringLiteralInbetween.current; }
+ EOF
+;
+
+// Rule RichStringLiteralInbetween
+ruleRichStringLiteralInbetween returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ lv_value_0_0=RULE_RICH_TEXT_INBETWEEN
+ {
+ newLeafNode(lv_value_0_0, grammarAccess.getRichStringLiteralInbetweenAccess().getValueRICH_TEXT_INBETWEENTerminalRuleCall_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRichStringLiteralInbetweenRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_0_0,
+ "RICH_TEXT_INBETWEEN");
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleRichVarPart
+entryRuleRichVarPart returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRichVarPartRule()); }
+ iv_ruleRichVarPart=ruleRichVarPart
+ { $current=$iv_ruleRichVarPart.current; }
+ EOF
+;
+
+// Rule RichVarPart
+ruleRichVarPart returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_key_0_0=RULE_ID
+ {
+ newLeafNode(lv_key_0_0, grammarAccess.getRichVarPartAccess().getKeyIDTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRichVarPartRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "key",
+ lv_key_0_0,
+ "ID");
+ }
+
+)
+)((
+(
+ lv_format_1_0=RULE_STRING
+ {
+ newLeafNode(lv_format_1_0, grammarAccess.getRichVarPartAccess().getFormatSTRINGTerminalRuleCall_1_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRichVarPartRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "format",
+ lv_format_1_0,
+ "STRING");
+ }
+
+)
+)(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRichVarPartRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getRichVarPartAccess().getFormatterClassNLSFormatterCrossReference_1_1_0());
+ }
+ ruleQualifiedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)?)
+;
+
+
+
+
+
+// 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 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();
+ }
+)*)
+ ;
+
+
+
+
+
+// Rule PredefinedTypes
+rulePredefinedTypes returns [Enumerator current=null]
+ @init { enterRule(); }
+ @after { leaveRule(); }:
+(( enumLiteral_0='ANY'
+ {
+ $current = grammarAccess.getPredefinedTypesAccess().getANYEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getPredefinedTypesAccess().getANYEnumLiteralDeclaration_0());
+ }
+)
+ |( enumLiteral_1='NUMBER'
+ {
+ $current = grammarAccess.getPredefinedTypesAccess().getNUMBEREnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getPredefinedTypesAccess().getNUMBEREnumLiteralDeclaration_1());
+ }
+)
+ |( enumLiteral_2='DATE'
+ {
+ $current = grammarAccess.getPredefinedTypesAccess().getDATEEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getPredefinedTypesAccess().getDATEEnumLiteralDeclaration_2());
+ }
+));
+
+
+
+RULE_RICH_TEXT : '\'\'\'' RULE_IN_RICH_STRING* ('\'\'\''|('\'' '\''?)? EOF);
+
+RULE_RICH_TEXT_START : '\'\'\'' RULE_IN_RICH_STRING* ('\'' '\''?)? '\u00AB';
+
+RULE_RICH_TEXT_END : '\u00BB' RULE_IN_RICH_STRING* ('\'\'\''|('\'' '\''?)? EOF);
+
+RULE_RICH_TEXT_INBETWEEN : '\u00BB' RULE_IN_RICH_STRING* ('\'' '\''?)? '\u00AB';
+
+fragment RULE_IN_RICH_STRING : ('\'\'' ~(('\u00AB'|'\''))|'\'' ~(('\u00AB'|'\''))|~(('\u00AB'|'\'')));
+
+RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
+
+RULE_INT : ('0'..'9')+;
+
+RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+RULE_ANY_OTHER : .;
+
+
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.tokens b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.tokens
new file mode 100644
index 000000000..f5f029871
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.tokens
@@ -0,0 +1,44 @@
+'('=22
+')'=24
+','=23
+'.'=28
+':'=25
+'ANY'=29
+'DATE'=31
+'NUMBER'=30
+'['=26
+']'=27
+'bundle'=19
+'default'=20
+'formatter'=21
+'package'=18
+'{'=16
+'}'=17
+RULE_ANY_OTHER=15
+RULE_ID=4
+RULE_INT=11
+RULE_IN_RICH_STRING=10
+RULE_ML_COMMENT=12
+RULE_RICH_TEXT=5
+RULE_RICH_TEXT_END=7
+RULE_RICH_TEXT_INBETWEEN=8
+RULE_RICH_TEXT_START=6
+RULE_SL_COMMENT=13
+RULE_STRING=9
+RULE_WS=14
+T__16=16
+T__17=17
+T__18=18
+T__19=19
+T__20=20
+T__21=21
+T__22=22
+T__23=23
+T__24=24
+T__25=25
+T__26=26
+T__27=27
+T__28=28
+T__29=29
+T__30=30
+T__31=31
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDslLexer.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDslLexer.java
new file mode 100644
index 000000000..77e7cb655
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDslLexer.java
@@ -0,0 +1,2061 @@
+package org.eclipse.fx.ide.l10n.parser.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.parser.antlr.Lexer;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalNLSDslLexer extends Lexer {
+ public static final int RULE_STRING=9;
+ public static final int RULE_SL_COMMENT=13;
+ public static final int T__19=19;
+ public static final int RULE_IN_RICH_STRING=10;
+ 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 EOF=-1;
+ public static final int T__30=30;
+ public static final int T__31=31;
+ public static final int RULE_RICH_TEXT=5;
+ public static final int RULE_ID=4;
+ public static final int RULE_WS=14;
+ public static final int RULE_RICH_TEXT_END=7;
+ public static final int RULE_RICH_TEXT_START=6;
+ public static final int RULE_ANY_OTHER=15;
+ public static final int RULE_RICH_TEXT_INBETWEEN=8;
+ 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=11;
+ public static final int T__29=29;
+ public static final int T__22=22;
+ public static final int RULE_ML_COMMENT=12;
+ 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;
+
+ // delegates
+ // delegators
+
+ public InternalNLSDslLexer() {;}
+ public InternalNLSDslLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalNLSDslLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g"; }
+
+ // $ANTLR start "T__16"
+ public final void mT__16() throws RecognitionException {
+ try {
+ int _type = T__16;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:11:7: ( '{' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:11:9: '{'
+ {
+ match('{');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__16"
+
+ // $ANTLR start "T__17"
+ public final void mT__17() throws RecognitionException {
+ try {
+ int _type = T__17;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:12:7: ( '}' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:12:9: '}'
+ {
+ match('}');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__17"
+
+ // $ANTLR start "T__18"
+ public final void mT__18() throws RecognitionException {
+ try {
+ int _type = T__18;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:13:7: ( 'package' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:13:9: 'package'
+ {
+ match("package");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__18"
+
+ // $ANTLR start "T__19"
+ public final void mT__19() throws RecognitionException {
+ try {
+ int _type = T__19;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:14:7: ( 'bundle' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:14:9: 'bundle'
+ {
+ match("bundle");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__19"
+
+ // $ANTLR start "T__20"
+ public final void mT__20() throws RecognitionException {
+ try {
+ int _type = T__20;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:15:7: ( 'default' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:15:9: 'default'
+ {
+ match("default");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__20"
+
+ // $ANTLR start "T__21"
+ public final void mT__21() throws RecognitionException {
+ try {
+ int _type = T__21;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:16:7: ( 'formatter' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:16:9: 'formatter'
+ {
+ match("formatter");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__21"
+
+ // $ANTLR start "T__22"
+ public final void mT__22() throws RecognitionException {
+ try {
+ int _type = T__22;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:17:7: ( '(' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:17:9: '('
+ {
+ match('(');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__22"
+
+ // $ANTLR start "T__23"
+ public final void mT__23() throws RecognitionException {
+ try {
+ int _type = T__23;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:18:7: ( ',' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:18:9: ','
+ {
+ match(',');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__23"
+
+ // $ANTLR start "T__24"
+ public final void mT__24() throws RecognitionException {
+ try {
+ int _type = T__24;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:19:7: ( ')' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:19:9: ')'
+ {
+ match(')');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__24"
+
+ // $ANTLR start "T__25"
+ public final void mT__25() throws RecognitionException {
+ try {
+ int _type = T__25;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:20:7: ( ':' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:20:9: ':'
+ {
+ match(':');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__25"
+
+ // $ANTLR start "T__26"
+ public final void mT__26() throws RecognitionException {
+ try {
+ int _type = T__26;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:21:7: ( '[' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:21:9: '['
+ {
+ match('[');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__26"
+
+ // $ANTLR start "T__27"
+ public final void mT__27() throws RecognitionException {
+ try {
+ int _type = T__27;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:22:7: ( ']' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:22:9: ']'
+ {
+ match(']');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__27"
+
+ // $ANTLR start "T__28"
+ public final void mT__28() throws RecognitionException {
+ try {
+ int _type = T__28;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:23:7: ( '.' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:23:9: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__28"
+
+ // $ANTLR start "T__29"
+ public final void mT__29() throws RecognitionException {
+ try {
+ int _type = T__29;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:24:7: ( 'ANY' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:24:9: 'ANY'
+ {
+ match("ANY");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__29"
+
+ // $ANTLR start "T__30"
+ public final void mT__30() throws RecognitionException {
+ try {
+ int _type = T__30;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:25:7: ( 'NUMBER' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:25:9: 'NUMBER'
+ {
+ match("NUMBER");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__30"
+
+ // $ANTLR start "T__31"
+ public final void mT__31() throws RecognitionException {
+ try {
+ int _type = T__31;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:26:7: ( 'DATE' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:26:9: 'DATE'
+ {
+ match("DATE");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__31"
+
+ // $ANTLR start "RULE_RICH_TEXT"
+ public final void mRULE_RICH_TEXT() throws RecognitionException {
+ try {
+ int _type = RULE_RICH_TEXT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1088:16: ( '\\'\\'\\'' ( RULE_IN_RICH_STRING )* ( '\\'\\'\\'' | ( '\\'' ( '\\'' )? )? EOF ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1088:18: '\\'\\'\\'' ( RULE_IN_RICH_STRING )* ( '\\'\\'\\'' | ( '\\'' ( '\\'' )? )? EOF )
+ {
+ match("'''");
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1088:27: ( RULE_IN_RICH_STRING )*
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0=='\'') ) {
+ int LA1_1 = input.LA(2);
+
+ if ( (LA1_1=='\'') ) {
+ int LA1_4 = input.LA(3);
+
+ if ( ((LA1_4>='\u0000' && LA1_4<='&')||(LA1_4>='(' && LA1_4<='\u00AA')||(LA1_4>='\u00AC' && LA1_4<='\uFFFF')) ) {
+ alt1=1;
+ }
+
+
+ }
+ else if ( ((LA1_1>='\u0000' && LA1_1<='&')||(LA1_1>='(' && LA1_1<='\u00AA')||(LA1_1>='\u00AC' && LA1_1<='\uFFFF')) ) {
+ alt1=1;
+ }
+
+
+ }
+ else if ( ((LA1_0>='\u0000' && LA1_0<='&')||(LA1_0>='(' && LA1_0<='\u00AA')||(LA1_0>='\u00AC' && LA1_0<='\uFFFF')) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1088:27: RULE_IN_RICH_STRING
+ {
+ mRULE_IN_RICH_STRING();
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1088:48: ( '\\'\\'\\'' | ( '\\'' ( '\\'' )? )? EOF )
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0=='\'') ) {
+ int LA4_1 = input.LA(2);
+
+ if ( (LA4_1=='\'') ) {
+ int LA4_3 = input.LA(3);
+
+ if ( (LA4_3=='\'') ) {
+ alt4=1;
+ }
+ else {
+ alt4=2;}
+ }
+ else {
+ alt4=2;}
+ }
+ else {
+ alt4=2;}
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1088:49: '\\'\\'\\''
+ {
+ match("'''");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1088:58: ( '\\'' ( '\\'' )? )? EOF
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1088:58: ( '\\'' ( '\\'' )? )?
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0=='\'') ) {
+ alt3=1;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1088:59: '\\'' ( '\\'' )?
+ {
+ match('\'');
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1088:64: ( '\\'' )?
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0=='\'') ) {
+ alt2=1;
+ }
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1088:64: '\\''
+ {
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ match(EOF);
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_RICH_TEXT"
+
+ // $ANTLR start "RULE_RICH_TEXT_START"
+ public final void mRULE_RICH_TEXT_START() throws RecognitionException {
+ try {
+ int _type = RULE_RICH_TEXT_START;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1090:22: ( '\\'\\'\\'' ( RULE_IN_RICH_STRING )* ( '\\'' ( '\\'' )? )? '\\u00AB' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1090:24: '\\'\\'\\'' ( RULE_IN_RICH_STRING )* ( '\\'' ( '\\'' )? )? '\\u00AB'
+ {
+ match("'''");
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1090:33: ( RULE_IN_RICH_STRING )*
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0=='\'') ) {
+ int LA5_1 = input.LA(2);
+
+ if ( (LA5_1=='\'') ) {
+ int LA5_4 = input.LA(3);
+
+ if ( ((LA5_4>='\u0000' && LA5_4<='&')||(LA5_4>='(' && LA5_4<='\u00AA')||(LA5_4>='\u00AC' && LA5_4<='\uFFFF')) ) {
+ alt5=1;
+ }
+
+
+ }
+ else if ( ((LA5_1>='\u0000' && LA5_1<='&')||(LA5_1>='(' && LA5_1<='\u00AA')||(LA5_1>='\u00AC' && LA5_1<='\uFFFF')) ) {
+ alt5=1;
+ }
+
+
+ }
+ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='\u00AA')||(LA5_0>='\u00AC' && LA5_0<='\uFFFF')) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1090:33: RULE_IN_RICH_STRING
+ {
+ mRULE_IN_RICH_STRING();
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1090:54: ( '\\'' ( '\\'' )? )?
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0=='\'') ) {
+ alt7=1;
+ }
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1090:55: '\\'' ( '\\'' )?
+ {
+ match('\'');
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1090:60: ( '\\'' )?
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='\'') ) {
+ alt6=1;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1090:60: '\\''
+ {
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ match('\u00AB');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_RICH_TEXT_START"
+
+ // $ANTLR start "RULE_RICH_TEXT_END"
+ public final void mRULE_RICH_TEXT_END() throws RecognitionException {
+ try {
+ int _type = RULE_RICH_TEXT_END;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1092:20: ( '\\u00BB' ( RULE_IN_RICH_STRING )* ( '\\'\\'\\'' | ( '\\'' ( '\\'' )? )? EOF ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1092:22: '\\u00BB' ( RULE_IN_RICH_STRING )* ( '\\'\\'\\'' | ( '\\'' ( '\\'' )? )? EOF )
+ {
+ match('\u00BB');
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1092:31: ( RULE_IN_RICH_STRING )*
+ loop8:
+ do {
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0=='\'') ) {
+ int LA8_1 = input.LA(2);
+
+ if ( (LA8_1=='\'') ) {
+ int LA8_4 = input.LA(3);
+
+ if ( ((LA8_4>='\u0000' && LA8_4<='&')||(LA8_4>='(' && LA8_4<='\u00AA')||(LA8_4>='\u00AC' && LA8_4<='\uFFFF')) ) {
+ alt8=1;
+ }
+
+
+ }
+ else if ( ((LA8_1>='\u0000' && LA8_1<='&')||(LA8_1>='(' && LA8_1<='\u00AA')||(LA8_1>='\u00AC' && LA8_1<='\uFFFF')) ) {
+ alt8=1;
+ }
+
+
+ }
+ else if ( ((LA8_0>='\u0000' && LA8_0<='&')||(LA8_0>='(' && LA8_0<='\u00AA')||(LA8_0>='\u00AC' && LA8_0<='\uFFFF')) ) {
+ alt8=1;
+ }
+
+
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1092:31: RULE_IN_RICH_STRING
+ {
+ mRULE_IN_RICH_STRING();
+
+ }
+ break;
+
+ default :
+ break loop8;
+ }
+ } while (true);
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1092:52: ( '\\'\\'\\'' | ( '\\'' ( '\\'' )? )? EOF )
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0=='\'') ) {
+ int LA11_1 = input.LA(2);
+
+ if ( (LA11_1=='\'') ) {
+ int LA11_3 = input.LA(3);
+
+ if ( (LA11_3=='\'') ) {
+ alt11=1;
+ }
+ else {
+ alt11=2;}
+ }
+ else {
+ alt11=2;}
+ }
+ else {
+ alt11=2;}
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1092:53: '\\'\\'\\''
+ {
+ match("'''");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1092:62: ( '\\'' ( '\\'' )? )? EOF
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1092:62: ( '\\'' ( '\\'' )? )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0=='\'') ) {
+ alt10=1;
+ }
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1092:63: '\\'' ( '\\'' )?
+ {
+ match('\'');
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1092:68: ( '\\'' )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0=='\'') ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1092:68: '\\''
+ {
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ match(EOF);
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_RICH_TEXT_END"
+
+ // $ANTLR start "RULE_RICH_TEXT_INBETWEEN"
+ public final void mRULE_RICH_TEXT_INBETWEEN() throws RecognitionException {
+ try {
+ int _type = RULE_RICH_TEXT_INBETWEEN;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1094:26: ( '\\u00BB' ( RULE_IN_RICH_STRING )* ( '\\'' ( '\\'' )? )? '\\u00AB' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1094:28: '\\u00BB' ( RULE_IN_RICH_STRING )* ( '\\'' ( '\\'' )? )? '\\u00AB'
+ {
+ match('\u00BB');
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1094:37: ( RULE_IN_RICH_STRING )*
+ loop12:
+ do {
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0=='\'') ) {
+ int LA12_1 = input.LA(2);
+
+ if ( (LA12_1=='\'') ) {
+ int LA12_4 = input.LA(3);
+
+ if ( ((LA12_4>='\u0000' && LA12_4<='&')||(LA12_4>='(' && LA12_4<='\u00AA')||(LA12_4>='\u00AC' && LA12_4<='\uFFFF')) ) {
+ alt12=1;
+ }
+
+
+ }
+ else if ( ((LA12_1>='\u0000' && LA12_1<='&')||(LA12_1>='(' && LA12_1<='\u00AA')||(LA12_1>='\u00AC' && LA12_1<='\uFFFF')) ) {
+ alt12=1;
+ }
+
+
+ }
+ else if ( ((LA12_0>='\u0000' && LA12_0<='&')||(LA12_0>='(' && LA12_0<='\u00AA')||(LA12_0>='\u00AC' && LA12_0<='\uFFFF')) ) {
+ alt12=1;
+ }
+
+
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1094:37: RULE_IN_RICH_STRING
+ {
+ mRULE_IN_RICH_STRING();
+
+ }
+ break;
+
+ default :
+ break loop12;
+ }
+ } while (true);
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1094:58: ( '\\'' ( '\\'' )? )?
+ int alt14=2;
+ int LA14_0 = input.LA(1);
+
+ if ( (LA14_0=='\'') ) {
+ alt14=1;
+ }
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1094:59: '\\'' ( '\\'' )?
+ {
+ match('\'');
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1094:64: ( '\\'' )?
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0=='\'') ) {
+ alt13=1;
+ }
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1094:64: '\\''
+ {
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ match('\u00AB');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_RICH_TEXT_INBETWEEN"
+
+ // $ANTLR start "RULE_IN_RICH_STRING"
+ public final void mRULE_IN_RICH_STRING() throws RecognitionException {
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1096:30: ( ( '\\'\\'' ~ ( ( '\\u00AB' | '\\'' ) ) | '\\'' ~ ( ( '\\u00AB' | '\\'' ) ) | ~ ( ( '\\u00AB' | '\\'' ) ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1096:32: ( '\\'\\'' ~ ( ( '\\u00AB' | '\\'' ) ) | '\\'' ~ ( ( '\\u00AB' | '\\'' ) ) | ~ ( ( '\\u00AB' | '\\'' ) ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1096:32: ( '\\'\\'' ~ ( ( '\\u00AB' | '\\'' ) ) | '\\'' ~ ( ( '\\u00AB' | '\\'' ) ) | ~ ( ( '\\u00AB' | '\\'' ) ) )
+ int alt15=3;
+ int LA15_0 = input.LA(1);
+
+ if ( (LA15_0=='\'') ) {
+ int LA15_1 = input.LA(2);
+
+ if ( (LA15_1=='\'') ) {
+ alt15=1;
+ }
+ else if ( ((LA15_1>='\u0000' && LA15_1<='&')||(LA15_1>='(' && LA15_1<='\u00AA')||(LA15_1>='\u00AC' && LA15_1<='\uFFFF')) ) {
+ alt15=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 15, 1, input);
+
+ throw nvae;
+ }
+ }
+ else if ( ((LA15_0>='\u0000' && LA15_0<='&')||(LA15_0>='(' && LA15_0<='\u00AA')||(LA15_0>='\u00AC' && LA15_0<='\uFFFF')) ) {
+ alt15=3;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 15, 0, input);
+
+ throw nvae;
+ }
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1096:33: '\\'\\'' ~ ( ( '\\u00AB' | '\\'' ) )
+ {
+ match("''");
+
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='\u00AA')||(input.LA(1)>='\u00AC' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1096:59: '\\'' ~ ( ( '\\u00AB' | '\\'' ) )
+ {
+ match('\'');
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='\u00AA')||(input.LA(1)>='\u00AC' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1096:83: ~ ( ( '\\u00AB' | '\\'' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='\u00AA')||(input.LA(1)>='\u00AC' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_IN_RICH_STRING"
+
+ // $ANTLR start "RULE_ID"
+ public final void mRULE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1098:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1098:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1098:11: ( '^' )?
+ int alt16=2;
+ int LA16_0 = input.LA(1);
+
+ if ( (LA16_0=='^') ) {
+ alt16=1;
+ }
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1098:11: '^'
+ {
+ match('^');
+
+ }
+ break;
+
+ }
+
+ if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1098:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ loop17:
+ do {
+ int alt17=2;
+ int LA17_0 = input.LA(1);
+
+ if ( ((LA17_0>='0' && LA17_0<='9')||(LA17_0>='A' && LA17_0<='Z')||LA17_0=='_'||(LA17_0>='a' && LA17_0<='z')) ) {
+ alt17=1;
+ }
+
+
+ switch (alt17) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop17;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ID"
+
+ // $ANTLR start "RULE_INT"
+ public final void mRULE_INT() throws RecognitionException {
+ try {
+ int _type = RULE_INT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1100:10: ( ( '0' .. '9' )+ )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1100:12: ( '0' .. '9' )+
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1100:12: ( '0' .. '9' )+
+ int cnt18=0;
+ loop18:
+ do {
+ int alt18=2;
+ int LA18_0 = input.LA(1);
+
+ if ( ((LA18_0>='0' && LA18_0<='9')) ) {
+ alt18=1;
+ }
+
+
+ switch (alt18) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1100:13: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt18 >= 1 ) break loop18;
+ EarlyExitException eee =
+ new EarlyExitException(18, input);
+ throw eee;
+ }
+ cnt18++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_INT"
+
+ // $ANTLR start "RULE_STRING"
+ public final void mRULE_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1102:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1102:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1102:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ int alt21=2;
+ int LA21_0 = input.LA(1);
+
+ if ( (LA21_0=='\"') ) {
+ alt21=1;
+ }
+ else if ( (LA21_0=='\'') ) {
+ alt21=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 21, 0, input);
+
+ throw nvae;
+ }
+ switch (alt21) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1102:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ {
+ match('\"');
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1102:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop19:
+ do {
+ int alt19=3;
+ int LA19_0 = input.LA(1);
+
+ if ( (LA19_0=='\\') ) {
+ alt19=1;
+ }
+ else if ( ((LA19_0>='\u0000' && LA19_0<='!')||(LA19_0>='#' && LA19_0<='[')||(LA19_0>=']' && LA19_0<='\uFFFF')) ) {
+ alt19=2;
+ }
+
+
+ switch (alt19) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1102:21: '\\\\' .
+ {
+ match('\\');
+ matchAny();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1102:28: ~ ( ( '\\\\' | '\"' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop19;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1102:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ {
+ match('\'');
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1102:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop20:
+ do {
+ int alt20=3;
+ int LA20_0 = input.LA(1);
+
+ if ( (LA20_0=='\\') ) {
+ alt20=1;
+ }
+ else if ( ((LA20_0>='\u0000' && LA20_0<='&')||(LA20_0>='(' && LA20_0<='[')||(LA20_0>=']' && LA20_0<='\uFFFF')) ) {
+ alt20=2;
+ }
+
+
+ switch (alt20) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1102:54: '\\\\' .
+ {
+ match('\\');
+ matchAny();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1102:61: ~ ( ( '\\\\' | '\\'' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop20;
+ }
+ } while (true);
+
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_STRING"
+
+ // $ANTLR start "RULE_ML_COMMENT"
+ public final void mRULE_ML_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_ML_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1104:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1104:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1104:24: ( options {greedy=false; } : . )*
+ loop22:
+ do {
+ int alt22=2;
+ int LA22_0 = input.LA(1);
+
+ if ( (LA22_0=='*') ) {
+ int LA22_1 = input.LA(2);
+
+ if ( (LA22_1=='/') ) {
+ alt22=2;
+ }
+ else if ( ((LA22_1>='\u0000' && LA22_1<='.')||(LA22_1>='0' && LA22_1<='\uFFFF')) ) {
+ alt22=1;
+ }
+
+
+ }
+ else if ( ((LA22_0>='\u0000' && LA22_0<=')')||(LA22_0>='+' && LA22_0<='\uFFFF')) ) {
+ alt22=1;
+ }
+
+
+ switch (alt22) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1104:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop22;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_COMMENT"
+
+ // $ANTLR start "RULE_SL_COMMENT"
+ public final void mRULE_SL_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_SL_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1106:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1106:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("//");
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1106:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop23:
+ do {
+ int alt23=2;
+ int LA23_0 = input.LA(1);
+
+ if ( ((LA23_0>='\u0000' && LA23_0<='\t')||(LA23_0>='\u000B' && LA23_0<='\f')||(LA23_0>='\u000E' && LA23_0<='\uFFFF')) ) {
+ alt23=1;
+ }
+
+
+ switch (alt23) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1106:24: ~ ( ( '\\n' | '\\r' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop23;
+ }
+ } while (true);
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1106:40: ( ( '\\r' )? '\\n' )?
+ int alt25=2;
+ int LA25_0 = input.LA(1);
+
+ if ( (LA25_0=='\n'||LA25_0=='\r') ) {
+ alt25=1;
+ }
+ switch (alt25) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1106:41: ( '\\r' )? '\\n'
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1106:41: ( '\\r' )?
+ int alt24=2;
+ int LA24_0 = input.LA(1);
+
+ if ( (LA24_0=='\r') ) {
+ alt24=1;
+ }
+ switch (alt24) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1106:41: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SL_COMMENT"
+
+ // $ANTLR start "RULE_WS"
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1108:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1108:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1108:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt26=0;
+ loop26:
+ do {
+ int alt26=2;
+ int LA26_0 = input.LA(1);
+
+ if ( ((LA26_0>='\t' && LA26_0<='\n')||LA26_0=='\r'||LA26_0==' ') ) {
+ alt26=1;
+ }
+
+
+ switch (alt26) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.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 ( cnt26 >= 1 ) break loop26;
+ EarlyExitException eee =
+ new EarlyExitException(26, input);
+ throw eee;
+ }
+ cnt26++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_WS"
+
+ // $ANTLR start "RULE_ANY_OTHER"
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1110:16: ( . )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1110:18: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANY_OTHER"
+
+ public void mTokens() throws RecognitionException {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:8: ( 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 | RULE_RICH_TEXT | RULE_RICH_TEXT_START | RULE_RICH_TEXT_END | RULE_RICH_TEXT_INBETWEEN | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt27=27;
+ alt27 = dfa27.predict(input);
+ switch (alt27) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:10: T__16
+ {
+ mT__16();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:16: T__17
+ {
+ mT__17();
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:22: T__18
+ {
+ mT__18();
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:28: T__19
+ {
+ mT__19();
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:34: T__20
+ {
+ mT__20();
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:40: T__21
+ {
+ mT__21();
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:46: T__22
+ {
+ mT__22();
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:52: T__23
+ {
+ mT__23();
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:58: T__24
+ {
+ mT__24();
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:64: T__25
+ {
+ mT__25();
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:70: T__26
+ {
+ mT__26();
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:76: T__27
+ {
+ mT__27();
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:82: T__28
+ {
+ mT__28();
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:88: T__29
+ {
+ mT__29();
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:94: T__30
+ {
+ mT__30();
+
+ }
+ break;
+ case 16 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:100: T__31
+ {
+ mT__31();
+
+ }
+ break;
+ case 17 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:106: RULE_RICH_TEXT
+ {
+ mRULE_RICH_TEXT();
+
+ }
+ break;
+ case 18 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:121: RULE_RICH_TEXT_START
+ {
+ mRULE_RICH_TEXT_START();
+
+ }
+ break;
+ case 19 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:142: RULE_RICH_TEXT_END
+ {
+ mRULE_RICH_TEXT_END();
+
+ }
+ break;
+ case 20 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:161: RULE_RICH_TEXT_INBETWEEN
+ {
+ mRULE_RICH_TEXT_INBETWEEN();
+
+ }
+ break;
+ case 21 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:186: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 22 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:194: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 23 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:203: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 24 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:215: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 25 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:231: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 26 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:247: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 27 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1:255: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA27 dfa27 = new DFA27(this);
+ static final String DFA27_eotS =
+ "\3\uffff\4\35\7\uffff\3\35\1\31\1\57\1\31\2\uffff\2\31\4\uffff\1\35\1\uffff\3\35\7\uffff\3\35\1\54\1\uffff\2\57\6\uffff\4\35\1\103\2\35\1\111\2\57\4\35\1\uffff\1\35\1\120\2\111\2\uffff\1\57\5\35\1\uffff\2\111\1\35\1\132\2\35\1\135\1\111\1\136\1\uffff\1\137\1\35\3\uffff\1\35\1\142\1\uffff";
+ static final String DFA27_eofS =
+ "\143\uffff";
+ static final String DFA27_minS =
+ "\1\0\2\uffff\1\141\1\165\1\145\1\157\7\uffff\1\116\1\125\1\101\2\0\1\101\2\uffff\1\0\1\52\4\uffff\1\143\1\uffff\1\156\1\146\1\162\7\uffff\1\131\1\115\1\124\1\47\1\uffff\2\0\6\uffff\1\153\1\144\1\141\1\155\1\60\1\102\1\105\3\0\1\141\1\154\1\165\1\141\1\uffff\1\105\1\60\2\0\2\uffff\1\0\1\147\1\145\1\154\1\164\1\122\1\uffff\2\0\1\145\1\60\2\164\1\60\1\0\1\60\1\uffff\1\60\1\145\3\uffff\1\162\1\60\1\uffff";
+ static final String DFA27_maxS =
+ "\1\uffff\2\uffff\1\141\1\165\1\145\1\157\7\uffff\1\116\1\125\1\101\2\uffff\1\172\2\uffff\1\uffff\1\57\4\uffff\1\143\1\uffff\1\156\1\146\1\162\7\uffff\1\131\1\115\1\124\1\47\1\uffff\2\uffff\6\uffff\1\153\1\144\1\141\1\155\1\172\1\102\1\105\3\uffff\1\141\1\154\1\165\1\141\1\uffff\1\105\1\172\2\uffff\2\uffff\1\uffff\1\147\1\145\1\154\1\164\1\122\1\uffff\2\uffff\1\145\1\172\2\164\1\172\1\uffff\1\172\1\uffff\1\172\1\145\3\uffff\1\162\1\172\1\uffff";
+ static final String DFA27_acceptS =
+ "\1\uffff\1\1\1\2\4\uffff\1\7\1\10\1\11\1\12\1\13\1\14\1\15\6\uffff\1\25\1\26\2\uffff\1\32\1\33\1\1\1\2\1\uffff\1\25\3\uffff\1\7\1\10\1\11\1\12\1\13\1\14\1\15\4\uffff\1\27\2\uffff\1\23\1\24\1\26\1\30\1\31\1\32\16\uffff\1\16\4\uffff\1\22\1\21\6\uffff\1\20\11\uffff\1\4\2\uffff\1\17\1\3\1\5\2\uffff\1\6";
+ static final String DFA27_specialS =
+ "\1\13\20\uffff\1\15\1\1\3\uffff\1\16\26\uffff\1\0\1\12\15\uffff\1\6\1\3\1\11\7\uffff\1\2\1\7\2\uffff\1\10\6\uffff\1\14\1\5\5\uffff\1\4\12\uffff}>";
+ static final String[] DFA27_transitionS = {
+ "\11\31\2\30\2\31\1\30\22\31\1\30\1\31\1\26\4\31\1\21\1\7\1\11\2\31\1\10\1\31\1\15\1\27\12\25\1\12\6\31\1\16\2\24\1\20\11\24\1\17\14\24\1\13\1\31\1\14\1\23\1\24\1\31\1\24\1\4\1\24\1\5\1\24\1\6\11\24\1\3\12\24\1\1\1\31\1\2\75\31\1\22\uff44\31",
+ "",
+ "",
+ "\1\34",
+ "\1\36",
+ "\1\37",
+ "\1\40",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\50",
+ "\1\51",
+ "\1\52",
+ "\47\54\1\53\uffd8\54",
+ "\47\56\1\55\u0083\56\1\60\uff54\56",
+ "\32\35\4\uffff\1\35\1\uffff\32\35",
+ "",
+ "",
+ "\0\54",
+ "\1\62\4\uffff\1\63",
+ "",
+ "",
+ "",
+ "",
+ "\1\65",
+ "",
+ "\1\66",
+ "\1\67",
+ "\1\70",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\71",
+ "\1\72",
+ "\1\73",
+ "\1\74",
+ "",
+ "\47\76\1\75\u0083\76\1\60\uff54\76",
+ "\47\56\1\55\u0083\56\1\60\uff54\56",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\77",
+ "\1\100",
+ "\1\101",
+ "\1\102",
+ "\12\35\7\uffff\32\35\4\uffff\1\35\1\uffff\32\35",
+ "\1\104",
+ "\1\105",
+ "\47\107\1\106\u0083\107\1\110\uff54\107",
+ "\47\112\1\uffff\u0083\112\1\60\uff54\112",
+ "\47\56\1\55\u0083\56\1\60\uff54\56",
+ "\1\113",
+ "\1\114",
+ "\1\115",
+ "\1\116",
+ "",
+ "\1\117",
+ "\12\35\7\uffff\32\35\4\uffff\1\35\1\uffff\32\35",
+ "\47\122\1\121\u0083\122\1\110\uff54\122",
+ "\47\107\1\106\u0083\107\1\110\uff54\107",
+ "",
+ "",
+ "\47\56\1\55\u0083\56\1\60\uff54\56",
+ "\1\123",
+ "\1\124",
+ "\1\125",
+ "\1\126",
+ "\1\127",
+ "",
+ "\47\130\1\uffff\u0083\130\1\110\uff54\130",
+ "\47\107\1\106\u0083\107\1\110\uff54\107",
+ "\1\131",
+ "\12\35\7\uffff\32\35\4\uffff\1\35\1\uffff\32\35",
+ "\1\133",
+ "\1\134",
+ "\12\35\7\uffff\32\35\4\uffff\1\35\1\uffff\32\35",
+ "\47\107\1\106\u0083\107\1\110\uff54\107",
+ "\12\35\7\uffff\32\35\4\uffff\1\35\1\uffff\32\35",
+ "",
+ "\12\35\7\uffff\32\35\4\uffff\1\35\1\uffff\32\35",
+ "\1\140",
+ "",
+ "",
+ "",
+ "\1\141",
+ "\12\35\7\uffff\32\35\4\uffff\1\35\1\uffff\32\35",
+ ""
+ };
+
+ static final short[] DFA27_eot = DFA.unpackEncodedString(DFA27_eotS);
+ static final short[] DFA27_eof = DFA.unpackEncodedString(DFA27_eofS);
+ static final char[] DFA27_min = DFA.unpackEncodedStringToUnsignedChars(DFA27_minS);
+ static final char[] DFA27_max = DFA.unpackEncodedStringToUnsignedChars(DFA27_maxS);
+ static final short[] DFA27_accept = DFA.unpackEncodedString(DFA27_acceptS);
+ static final short[] DFA27_special = DFA.unpackEncodedString(DFA27_specialS);
+ static final short[][] DFA27_transition;
+
+ static {
+ int numStates = DFA27_transitionS.length;
+ DFA27_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA27_transition[i] = DFA.unpackEncodedString(DFA27_transitionS[i]);
+ }
+ }
+
+ class DFA27 extends DFA {
+
+ public DFA27(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 27;
+ this.eot = DFA27_eot;
+ this.eof = DFA27_eof;
+ this.min = DFA27_min;
+ this.max = DFA27_max;
+ this.accept = DFA27_accept;
+ this.special = DFA27_special;
+ this.transition = DFA27_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( 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 | RULE_RICH_TEXT | RULE_RICH_TEXT_START | RULE_RICH_TEXT_END | RULE_RICH_TEXT_INBETWEEN | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ IntStream input = _input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA27_45 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_45=='\'') ) {s = 61;}
+
+ else if ( ((LA27_45>='\u0000' && LA27_45<='&')||(LA27_45>='(' && LA27_45<='\u00AA')||(LA27_45>='\u00AC' && LA27_45<='\uFFFF')) ) {s = 62;}
+
+ else if ( (LA27_45=='\u00AB') ) {s = 48;}
+
+ else s = 47;
+
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA27_18 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_18=='\'') ) {s = 45;}
+
+ else if ( ((LA27_18>='\u0000' && LA27_18<='&')||(LA27_18>='(' && LA27_18<='\u00AA')||(LA27_18>='\u00AC' && LA27_18<='\uFFFF')) ) {s = 46;}
+
+ else if ( (LA27_18=='\u00AB') ) {s = 48;}
+
+ else s = 47;
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA27_70 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_70=='\'') ) {s = 81;}
+
+ else if ( ((LA27_70>='\u0000' && LA27_70<='&')||(LA27_70>='(' && LA27_70<='\u00AA')||(LA27_70>='\u00AC' && LA27_70<='\uFFFF')) ) {s = 82;}
+
+ else if ( (LA27_70=='\u00AB') ) {s = 72;}
+
+ else s = 73;
+
+ if ( s>=0 ) return s;
+ break;
+ case 3 :
+ int LA27_61 = input.LA(1);
+
+ s = -1;
+ if ( ((LA27_61>='\u0000' && LA27_61<='&')||(LA27_61>='(' && LA27_61<='\u00AA')||(LA27_61>='\u00AC' && LA27_61<='\uFFFF')) ) {s = 74;}
+
+ else if ( (LA27_61=='\u00AB') ) {s = 48;}
+
+ else s = 47;
+
+ if ( s>=0 ) return s;
+ break;
+ case 4 :
+ int LA27_88 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_88=='\'') ) {s = 70;}
+
+ else if ( (LA27_88=='\u00AB') ) {s = 72;}
+
+ else if ( ((LA27_88>='\u0000' && LA27_88<='&')||(LA27_88>='(' && LA27_88<='\u00AA')||(LA27_88>='\u00AC' && LA27_88<='\uFFFF')) ) {s = 71;}
+
+ else s = 73;
+
+ if ( s>=0 ) return s;
+ break;
+ case 5 :
+ int LA27_82 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_82=='\'') ) {s = 70;}
+
+ else if ( (LA27_82=='\u00AB') ) {s = 72;}
+
+ else if ( ((LA27_82>='\u0000' && LA27_82<='&')||(LA27_82>='(' && LA27_82<='\u00AA')||(LA27_82>='\u00AC' && LA27_82<='\uFFFF')) ) {s = 71;}
+
+ else s = 73;
+
+ if ( s>=0 ) return s;
+ break;
+ case 6 :
+ int LA27_60 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_60=='\'') ) {s = 70;}
+
+ else if ( ((LA27_60>='\u0000' && LA27_60<='&')||(LA27_60>='(' && LA27_60<='\u00AA')||(LA27_60>='\u00AC' && LA27_60<='\uFFFF')) ) {s = 71;}
+
+ else if ( (LA27_60=='\u00AB') ) {s = 72;}
+
+ else s = 73;
+
+ if ( s>=0 ) return s;
+ break;
+ case 7 :
+ int LA27_71 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_71=='\'') ) {s = 70;}
+
+ else if ( ((LA27_71>='\u0000' && LA27_71<='&')||(LA27_71>='(' && LA27_71<='\u00AA')||(LA27_71>='\u00AC' && LA27_71<='\uFFFF')) ) {s = 71;}
+
+ else if ( (LA27_71=='\u00AB') ) {s = 72;}
+
+ else s = 73;
+
+ if ( s>=0 ) return s;
+ break;
+ case 8 :
+ int LA27_74 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_74=='\'') ) {s = 45;}
+
+ else if ( (LA27_74=='\u00AB') ) {s = 48;}
+
+ else if ( ((LA27_74>='\u0000' && LA27_74<='&')||(LA27_74>='(' && LA27_74<='\u00AA')||(LA27_74>='\u00AC' && LA27_74<='\uFFFF')) ) {s = 46;}
+
+ else s = 47;
+
+ if ( s>=0 ) return s;
+ break;
+ case 9 :
+ int LA27_62 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_62=='\'') ) {s = 45;}
+
+ else if ( ((LA27_62>='\u0000' && LA27_62<='&')||(LA27_62>='(' && LA27_62<='\u00AA')||(LA27_62>='\u00AC' && LA27_62<='\uFFFF')) ) {s = 46;}
+
+ else if ( (LA27_62=='\u00AB') ) {s = 48;}
+
+ else s = 47;
+
+ if ( s>=0 ) return s;
+ break;
+ case 10 :
+ int LA27_46 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_46=='\'') ) {s = 45;}
+
+ else if ( (LA27_46=='\u00AB') ) {s = 48;}
+
+ else if ( ((LA27_46>='\u0000' && LA27_46<='&')||(LA27_46>='(' && LA27_46<='\u00AA')||(LA27_46>='\u00AC' && LA27_46<='\uFFFF')) ) {s = 46;}
+
+ else s = 47;
+
+ if ( s>=0 ) return s;
+ break;
+ case 11 :
+ int LA27_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_0=='{') ) {s = 1;}
+
+ else if ( (LA27_0=='}') ) {s = 2;}
+
+ else if ( (LA27_0=='p') ) {s = 3;}
+
+ else if ( (LA27_0=='b') ) {s = 4;}
+
+ else if ( (LA27_0=='d') ) {s = 5;}
+
+ else if ( (LA27_0=='f') ) {s = 6;}
+
+ else if ( (LA27_0=='(') ) {s = 7;}
+
+ else if ( (LA27_0==',') ) {s = 8;}
+
+ else if ( (LA27_0==')') ) {s = 9;}
+
+ else if ( (LA27_0==':') ) {s = 10;}
+
+ else if ( (LA27_0=='[') ) {s = 11;}
+
+ else if ( (LA27_0==']') ) {s = 12;}
+
+ else if ( (LA27_0=='.') ) {s = 13;}
+
+ else if ( (LA27_0=='A') ) {s = 14;}
+
+ else if ( (LA27_0=='N') ) {s = 15;}
+
+ else if ( (LA27_0=='D') ) {s = 16;}
+
+ else if ( (LA27_0=='\'') ) {s = 17;}
+
+ else if ( (LA27_0=='\u00BB') ) {s = 18;}
+
+ else if ( (LA27_0=='^') ) {s = 19;}
+
+ else if ( ((LA27_0>='B' && LA27_0<='C')||(LA27_0>='E' && LA27_0<='M')||(LA27_0>='O' && LA27_0<='Z')||LA27_0=='_'||LA27_0=='a'||LA27_0=='c'||LA27_0=='e'||(LA27_0>='g' && LA27_0<='o')||(LA27_0>='q' && LA27_0<='z')) ) {s = 20;}
+
+ else if ( ((LA27_0>='0' && LA27_0<='9')) ) {s = 21;}
+
+ else if ( (LA27_0=='\"') ) {s = 22;}
+
+ else if ( (LA27_0=='/') ) {s = 23;}
+
+ else if ( ((LA27_0>='\t' && LA27_0<='\n')||LA27_0=='\r'||LA27_0==' ') ) {s = 24;}
+
+ else if ( ((LA27_0>='\u0000' && LA27_0<='\b')||(LA27_0>='\u000B' && LA27_0<='\f')||(LA27_0>='\u000E' && LA27_0<='\u001F')||LA27_0=='!'||(LA27_0>='#' && LA27_0<='&')||(LA27_0>='*' && LA27_0<='+')||LA27_0=='-'||(LA27_0>=';' && LA27_0<='@')||LA27_0=='\\'||LA27_0=='`'||LA27_0=='|'||(LA27_0>='~' && LA27_0<='\u00BA')||(LA27_0>='\u00BC' && LA27_0<='\uFFFF')) ) {s = 25;}
+
+ if ( s>=0 ) return s;
+ break;
+ case 12 :
+ int LA27_81 = input.LA(1);
+
+ s = -1;
+ if ( ((LA27_81>='\u0000' && LA27_81<='&')||(LA27_81>='(' && LA27_81<='\u00AA')||(LA27_81>='\u00AC' && LA27_81<='\uFFFF')) ) {s = 88;}
+
+ else if ( (LA27_81=='\u00AB') ) {s = 72;}
+
+ else s = 73;
+
+ if ( s>=0 ) return s;
+ break;
+ case 13 :
+ int LA27_17 = input.LA(1);
+
+ s = -1;
+ if ( (LA27_17=='\'') ) {s = 43;}
+
+ else if ( ((LA27_17>='\u0000' && LA27_17<='&')||(LA27_17>='(' && LA27_17<='\uFFFF')) ) {s = 44;}
+
+ else s = 25;
+
+ if ( s>=0 ) return s;
+ break;
+ case 14 :
+ int LA27_22 = input.LA(1);
+
+ s = -1;
+ if ( ((LA27_22>='\u0000' && LA27_22<='\uFFFF')) ) {s = 44;}
+
+ else s = 25;
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 27, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+} \ No newline at end of file
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDslParser.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDslParser.java
new file mode 100644
index 000000000..8a9deb0b6
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDslParser.java
@@ -0,0 +1,3080 @@
+package org.eclipse.fx.ide.l10n.parser.antlr.internal;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.common.util.Enumerator;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import org.eclipse.fx.ide.l10n.services.NLSDslGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+@SuppressWarnings("all")
+public class InternalNLSDslParser extends AbstractInternalAntlrParser {
+ public static final String[] tokenNames = new String[] {
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_RICH_TEXT", "RULE_RICH_TEXT_START", "RULE_RICH_TEXT_END", "RULE_RICH_TEXT_INBETWEEN", "RULE_STRING", "RULE_IN_RICH_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'{'", "'}'", "'package'", "'bundle'", "'default'", "'formatter'", "'('", "','", "')'", "':'", "'['", "']'", "'.'", "'ANY'", "'NUMBER'", "'DATE'"
+ };
+ public static final int RULE_STRING=9;
+ public static final int RULE_SL_COMMENT=13;
+ public static final int T__19=19;
+ public static final int RULE_IN_RICH_STRING=10;
+ 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 EOF=-1;
+ public static final int T__30=30;
+ public static final int T__31=31;
+ public static final int RULE_RICH_TEXT=5;
+ public static final int RULE_ID=4;
+ public static final int RULE_WS=14;
+ public static final int RULE_RICH_TEXT_END=7;
+ public static final int RULE_RICH_TEXT_START=6;
+ public static final int RULE_ANY_OTHER=15;
+ public static final int RULE_RICH_TEXT_INBETWEEN=8;
+ 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=11;
+ public static final int T__29=29;
+ public static final int T__22=22;
+ public static final int RULE_ML_COMMENT=12;
+ 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;
+
+ // delegates
+ // delegators
+
+
+ public InternalNLSDslParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalNLSDslParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return InternalNLSDslParser.tokenNames; }
+ public String getGrammarFileName() { return "../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g"; }
+
+
+
+ private NLSDslGrammarAccess grammarAccess;
+
+ public InternalNLSDslParser(TokenStream input, NLSDslGrammarAccess grammarAccess) {
+ this(input);
+ this.grammarAccess = grammarAccess;
+ registerRules(grammarAccess.getGrammar());
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "NLS";
+ }
+
+ @Override
+ protected NLSDslGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+
+
+
+ // $ANTLR start "entryRuleNLS"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:68:1: entryRuleNLS returns [EObject current=null] : iv_ruleNLS= ruleNLS EOF ;
+ public final EObject entryRuleNLS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNLS = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:69:2: (iv_ruleNLS= ruleNLS EOF )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:70:2: iv_ruleNLS= ruleNLS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getNLSRule());
+ }
+ pushFollow(FOLLOW_ruleNLS_in_entryRuleNLS75);
+ iv_ruleNLS=ruleNLS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleNLS;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNLS85); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNLS"
+
+
+ // $ANTLR start "ruleNLS"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:77:1: ruleNLS returns [EObject current=null] : ( ( (lv_package_0_0= rulePackageDeclaration ) )? otherlv_1= '{' ( (lv_bundleList_2_0= ruleNLSBundle ) )+ otherlv_3= '}' ) ;
+ public final EObject ruleNLS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ EObject lv_package_0_0 = null;
+
+ EObject lv_bundleList_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:80:28: ( ( ( (lv_package_0_0= rulePackageDeclaration ) )? otherlv_1= '{' ( (lv_bundleList_2_0= ruleNLSBundle ) )+ otherlv_3= '}' ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:81:1: ( ( (lv_package_0_0= rulePackageDeclaration ) )? otherlv_1= '{' ( (lv_bundleList_2_0= ruleNLSBundle ) )+ otherlv_3= '}' )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:81:1: ( ( (lv_package_0_0= rulePackageDeclaration ) )? otherlv_1= '{' ( (lv_bundleList_2_0= ruleNLSBundle ) )+ otherlv_3= '}' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:81:2: ( (lv_package_0_0= rulePackageDeclaration ) )? otherlv_1= '{' ( (lv_bundleList_2_0= ruleNLSBundle ) )+ otherlv_3= '}'
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:81:2: ( (lv_package_0_0= rulePackageDeclaration ) )?
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==18) ) {
+ alt1=1;
+ }
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:82:1: (lv_package_0_0= rulePackageDeclaration )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:82:1: (lv_package_0_0= rulePackageDeclaration )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:83:3: lv_package_0_0= rulePackageDeclaration
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNLSAccess().getPackagePackageDeclarationParserRuleCall_0_0());
+
+ }
+ pushFollow(FOLLOW_rulePackageDeclaration_in_ruleNLS131);
+ lv_package_0_0=rulePackageDeclaration();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNLSRule());
+ }
+ set(
+ current,
+ "package",
+ lv_package_0_0,
+ "PackageDeclaration");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_1=(Token)match(input,16,FOLLOW_16_in_ruleNLS144); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getNLSAccess().getLeftCurlyBracketKeyword_1());
+
+ }
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:103:1: ( (lv_bundleList_2_0= ruleNLSBundle ) )+
+ int cnt2=0;
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==19) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:104:1: (lv_bundleList_2_0= ruleNLSBundle )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:104:1: (lv_bundleList_2_0= ruleNLSBundle )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:105:3: lv_bundleList_2_0= ruleNLSBundle
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNLSAccess().getBundleListNLSBundleParserRuleCall_2_0());
+
+ }
+ pushFollow(FOLLOW_ruleNLSBundle_in_ruleNLS165);
+ lv_bundleList_2_0=ruleNLSBundle();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNLSRule());
+ }
+ add(
+ current,
+ "bundleList",
+ lv_bundleList_2_0,
+ "NLSBundle");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt2 >= 1 ) break loop2;
+ if (state.backtracking>0) {state.failed=true; return current;}
+ EarlyExitException eee =
+ new EarlyExitException(2, input);
+ throw eee;
+ }
+ cnt2++;
+ } while (true);
+
+ otherlv_3=(Token)match(input,17,FOLLOW_17_in_ruleNLS178); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getNLSAccess().getRightCurlyBracketKeyword_3());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNLS"
+
+
+ // $ANTLR start "entryRulePackageDeclaration"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:133:1: entryRulePackageDeclaration returns [EObject current=null] : iv_rulePackageDeclaration= rulePackageDeclaration EOF ;
+ public final EObject entryRulePackageDeclaration() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePackageDeclaration = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:134:2: (iv_rulePackageDeclaration= rulePackageDeclaration EOF )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:135:2: iv_rulePackageDeclaration= rulePackageDeclaration EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getPackageDeclarationRule());
+ }
+ pushFollow(FOLLOW_rulePackageDeclaration_in_entryRulePackageDeclaration214);
+ iv_rulePackageDeclaration=rulePackageDeclaration();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_rulePackageDeclaration;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRulePackageDeclaration224); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePackageDeclaration"
+
+
+ // $ANTLR start "rulePackageDeclaration"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:142:1: rulePackageDeclaration returns [EObject current=null] : (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) ) ;
+ public final EObject rulePackageDeclaration() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:145:28: ( (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:146:1: (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:146:1: (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:146:3: otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) )
+ {
+ otherlv_0=(Token)match(input,18,FOLLOW_18_in_rulePackageDeclaration261); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_0, grammarAccess.getPackageDeclarationAccess().getPackageKeyword_0());
+
+ }
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:150:1: ( (lv_name_1_0= ruleQualifiedName ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:151:1: (lv_name_1_0= ruleQualifiedName )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:151:1: (lv_name_1_0= ruleQualifiedName )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:152:3: lv_name_1_0= ruleQualifiedName
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPackageDeclarationAccess().getNameQualifiedNameParserRuleCall_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_rulePackageDeclaration282);
+ lv_name_1_0=ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPackageDeclarationRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_1_0,
+ "QualifiedName");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePackageDeclaration"
+
+
+ // $ANTLR start "entryRuleNLSBundle"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:176:1: entryRuleNLSBundle returns [EObject current=null] : iv_ruleNLSBundle= ruleNLSBundle EOF ;
+ public final EObject entryRuleNLSBundle() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNLSBundle = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:177:2: (iv_ruleNLSBundle= ruleNLSBundle EOF )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:178:2: iv_ruleNLSBundle= ruleNLSBundle EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getNLSBundleRule());
+ }
+ pushFollow(FOLLOW_ruleNLSBundle_in_entryRuleNLSBundle318);
+ iv_ruleNLSBundle=ruleNLSBundle();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleNLSBundle;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNLSBundle328); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNLSBundle"
+
+
+ // $ANTLR start "ruleNLSBundle"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:185:1: ruleNLSBundle returns [EObject current=null] : (otherlv_0= 'bundle' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'default' ( (lv_lang_3_0= RULE_ID ) ) otherlv_4= '{' ( (lv_formatterList_5_0= ruleNLSFormatter ) )* ( (lv_messageEntryList_6_0= ruleMessageEntry ) )+ otherlv_7= '}' ) ;
+ public final EObject ruleNLSBundle() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token lv_name_1_0=null;
+ Token otherlv_2=null;
+ Token lv_lang_3_0=null;
+ Token otherlv_4=null;
+ Token otherlv_7=null;
+ EObject lv_formatterList_5_0 = null;
+
+ EObject lv_messageEntryList_6_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:188:28: ( (otherlv_0= 'bundle' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'default' ( (lv_lang_3_0= RULE_ID ) ) otherlv_4= '{' ( (lv_formatterList_5_0= ruleNLSFormatter ) )* ( (lv_messageEntryList_6_0= ruleMessageEntry ) )+ otherlv_7= '}' ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:189:1: (otherlv_0= 'bundle' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'default' ( (lv_lang_3_0= RULE_ID ) ) otherlv_4= '{' ( (lv_formatterList_5_0= ruleNLSFormatter ) )* ( (lv_messageEntryList_6_0= ruleMessageEntry ) )+ otherlv_7= '}' )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:189:1: (otherlv_0= 'bundle' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'default' ( (lv_lang_3_0= RULE_ID ) ) otherlv_4= '{' ( (lv_formatterList_5_0= ruleNLSFormatter ) )* ( (lv_messageEntryList_6_0= ruleMessageEntry ) )+ otherlv_7= '}' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:189:3: otherlv_0= 'bundle' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'default' ( (lv_lang_3_0= RULE_ID ) ) otherlv_4= '{' ( (lv_formatterList_5_0= ruleNLSFormatter ) )* ( (lv_messageEntryList_6_0= ruleMessageEntry ) )+ otherlv_7= '}'
+ {
+ otherlv_0=(Token)match(input,19,FOLLOW_19_in_ruleNLSBundle365); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_0, grammarAccess.getNLSBundleAccess().getBundleKeyword_0());
+
+ }
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:193:1: ( (lv_name_1_0= RULE_ID ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:194:1: (lv_name_1_0= RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:194:1: (lv_name_1_0= RULE_ID )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:195:3: lv_name_1_0= RULE_ID
+ {
+ lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleNLSBundle382); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_name_1_0, grammarAccess.getNLSBundleAccess().getNameIDTerminalRuleCall_1_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getNLSBundleRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_1_0,
+ "ID");
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,20,FOLLOW_20_in_ruleNLSBundle399); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getNLSBundleAccess().getDefaultKeyword_2());
+
+ }
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:215:1: ( (lv_lang_3_0= RULE_ID ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:216:1: (lv_lang_3_0= RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:216:1: (lv_lang_3_0= RULE_ID )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:217:3: lv_lang_3_0= RULE_ID
+ {
+ lv_lang_3_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleNLSBundle416); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_lang_3_0, grammarAccess.getNLSBundleAccess().getLangIDTerminalRuleCall_3_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getNLSBundleRule());
+ }
+ setWithLastConsumed(
+ current,
+ "lang",
+ lv_lang_3_0,
+ "ID");
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_4=(Token)match(input,16,FOLLOW_16_in_ruleNLSBundle433); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getNLSBundleAccess().getLeftCurlyBracketKeyword_4());
+
+ }
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:237:1: ( (lv_formatterList_5_0= ruleNLSFormatter ) )*
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0==21) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:238:1: (lv_formatterList_5_0= ruleNLSFormatter )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:238:1: (lv_formatterList_5_0= ruleNLSFormatter )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:239:3: lv_formatterList_5_0= ruleNLSFormatter
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNLSBundleAccess().getFormatterListNLSFormatterParserRuleCall_5_0());
+
+ }
+ pushFollow(FOLLOW_ruleNLSFormatter_in_ruleNLSBundle454);
+ lv_formatterList_5_0=ruleNLSFormatter();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNLSBundleRule());
+ }
+ add(
+ current,
+ "formatterList",
+ lv_formatterList_5_0,
+ "NLSFormatter");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop3;
+ }
+ } while (true);
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:255:3: ( (lv_messageEntryList_6_0= ruleMessageEntry ) )+
+ int cnt4=0;
+ loop4:
+ do {
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0==RULE_ID) ) {
+ alt4=1;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:256:1: (lv_messageEntryList_6_0= ruleMessageEntry )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:256:1: (lv_messageEntryList_6_0= ruleMessageEntry )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:257:3: lv_messageEntryList_6_0= ruleMessageEntry
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNLSBundleAccess().getMessageEntryListMessageEntryParserRuleCall_6_0());
+
+ }
+ pushFollow(FOLLOW_ruleMessageEntry_in_ruleNLSBundle476);
+ lv_messageEntryList_6_0=ruleMessageEntry();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNLSBundleRule());
+ }
+ add(
+ current,
+ "messageEntryList",
+ lv_messageEntryList_6_0,
+ "MessageEntry");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt4 >= 1 ) break loop4;
+ if (state.backtracking>0) {state.failed=true; return current;}
+ EarlyExitException eee =
+ new EarlyExitException(4, input);
+ throw eee;
+ }
+ cnt4++;
+ } while (true);
+
+ otherlv_7=(Token)match(input,17,FOLLOW_17_in_ruleNLSBundle489); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_7, grammarAccess.getNLSBundleAccess().getRightCurlyBracketKeyword_7());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNLSBundle"
+
+
+ // $ANTLR start "entryRuleNLSFormatter"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:285:1: entryRuleNLSFormatter returns [EObject current=null] : iv_ruleNLSFormatter= ruleNLSFormatter EOF ;
+ public final EObject entryRuleNLSFormatter() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNLSFormatter = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:286:2: (iv_ruleNLSFormatter= ruleNLSFormatter EOF )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:287:2: iv_ruleNLSFormatter= ruleNLSFormatter EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getNLSFormatterRule());
+ }
+ pushFollow(FOLLOW_ruleNLSFormatter_in_entryRuleNLSFormatter525);
+ iv_ruleNLSFormatter=ruleNLSFormatter();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleNLSFormatter;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNLSFormatter535); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNLSFormatter"
+
+
+ // $ANTLR start "ruleNLSFormatter"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:294:1: ruleNLSFormatter returns [EObject current=null] : (otherlv_0= 'formatter' ( (lv_name_1_0= RULE_ID ) ) ( (lv_classRef_2_0= ruleQualifiedName ) ) ) ;
+ public final EObject ruleNLSFormatter() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token lv_name_1_0=null;
+ AntlrDatatypeRuleToken lv_classRef_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:297:28: ( (otherlv_0= 'formatter' ( (lv_name_1_0= RULE_ID ) ) ( (lv_classRef_2_0= ruleQualifiedName ) ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:298:1: (otherlv_0= 'formatter' ( (lv_name_1_0= RULE_ID ) ) ( (lv_classRef_2_0= ruleQualifiedName ) ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:298:1: (otherlv_0= 'formatter' ( (lv_name_1_0= RULE_ID ) ) ( (lv_classRef_2_0= ruleQualifiedName ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:298:3: otherlv_0= 'formatter' ( (lv_name_1_0= RULE_ID ) ) ( (lv_classRef_2_0= ruleQualifiedName ) )
+ {
+ otherlv_0=(Token)match(input,21,FOLLOW_21_in_ruleNLSFormatter572); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_0, grammarAccess.getNLSFormatterAccess().getFormatterKeyword_0());
+
+ }
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:302:1: ( (lv_name_1_0= RULE_ID ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:303:1: (lv_name_1_0= RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:303:1: (lv_name_1_0= RULE_ID )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:304:3: lv_name_1_0= RULE_ID
+ {
+ lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleNLSFormatter589); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_name_1_0, grammarAccess.getNLSFormatterAccess().getNameIDTerminalRuleCall_1_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getNLSFormatterRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_1_0,
+ "ID");
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:320:2: ( (lv_classRef_2_0= ruleQualifiedName ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:321:1: (lv_classRef_2_0= ruleQualifiedName )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:321:1: (lv_classRef_2_0= ruleQualifiedName )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:322:3: lv_classRef_2_0= ruleQualifiedName
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNLSFormatterAccess().getClassRefQualifiedNameParserRuleCall_2_0());
+
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_ruleNLSFormatter615);
+ lv_classRef_2_0=ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNLSFormatterRule());
+ }
+ set(
+ current,
+ "classRef",
+ lv_classRef_2_0,
+ "QualifiedName");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNLSFormatter"
+
+
+ // $ANTLR start "entryRuleMessageEntry"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:346:1: entryRuleMessageEntry returns [EObject current=null] : iv_ruleMessageEntry= ruleMessageEntry EOF ;
+ public final EObject entryRuleMessageEntry() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleMessageEntry = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:347:2: (iv_ruleMessageEntry= ruleMessageEntry EOF )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:348:2: iv_ruleMessageEntry= ruleMessageEntry EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getMessageEntryRule());
+ }
+ pushFollow(FOLLOW_ruleMessageEntry_in_entryRuleMessageEntry651);
+ iv_ruleMessageEntry=ruleMessageEntry();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleMessageEntry;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleMessageEntry661); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleMessageEntry"
+
+
+ // $ANTLR start "ruleMessageEntry"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:355:1: ruleMessageEntry returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= '(' ( (lv_paramList_2_0= ruleMessageParam ) ) (otherlv_3= ',' ( (lv_paramList_4_0= ruleMessageParam ) ) )* otherlv_5= ')' )? otherlv_6= ':' ( (otherlv_7= '{' ( (lv_messageList_8_0= ruleMessage ) ) (otherlv_9= ',' ( (lv_messageList_10_0= ruleMessage ) ) )* otherlv_11= '}' ) | (otherlv_12= '[' ( ( ruleQualifiedName ) ) otherlv_14= ']' ) ) ) ;
+ public final EObject ruleMessageEntry() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_name_0_0=null;
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ Token otherlv_6=null;
+ Token otherlv_7=null;
+ Token otherlv_9=null;
+ Token otherlv_11=null;
+ Token otherlv_12=null;
+ Token otherlv_14=null;
+ EObject lv_paramList_2_0 = null;
+
+ EObject lv_paramList_4_0 = null;
+
+ EObject lv_messageList_8_0 = null;
+
+ EObject lv_messageList_10_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:358:28: ( ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= '(' ( (lv_paramList_2_0= ruleMessageParam ) ) (otherlv_3= ',' ( (lv_paramList_4_0= ruleMessageParam ) ) )* otherlv_5= ')' )? otherlv_6= ':' ( (otherlv_7= '{' ( (lv_messageList_8_0= ruleMessage ) ) (otherlv_9= ',' ( (lv_messageList_10_0= ruleMessage ) ) )* otherlv_11= '}' ) | (otherlv_12= '[' ( ( ruleQualifiedName ) ) otherlv_14= ']' ) ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:359:1: ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= '(' ( (lv_paramList_2_0= ruleMessageParam ) ) (otherlv_3= ',' ( (lv_paramList_4_0= ruleMessageParam ) ) )* otherlv_5= ')' )? otherlv_6= ':' ( (otherlv_7= '{' ( (lv_messageList_8_0= ruleMessage ) ) (otherlv_9= ',' ( (lv_messageList_10_0= ruleMessage ) ) )* otherlv_11= '}' ) | (otherlv_12= '[' ( ( ruleQualifiedName ) ) otherlv_14= ']' ) ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:359:1: ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= '(' ( (lv_paramList_2_0= ruleMessageParam ) ) (otherlv_3= ',' ( (lv_paramList_4_0= ruleMessageParam ) ) )* otherlv_5= ')' )? otherlv_6= ':' ( (otherlv_7= '{' ( (lv_messageList_8_0= ruleMessage ) ) (otherlv_9= ',' ( (lv_messageList_10_0= ruleMessage ) ) )* otherlv_11= '}' ) | (otherlv_12= '[' ( ( ruleQualifiedName ) ) otherlv_14= ']' ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:359:2: ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= '(' ( (lv_paramList_2_0= ruleMessageParam ) ) (otherlv_3= ',' ( (lv_paramList_4_0= ruleMessageParam ) ) )* otherlv_5= ')' )? otherlv_6= ':' ( (otherlv_7= '{' ( (lv_messageList_8_0= ruleMessage ) ) (otherlv_9= ',' ( (lv_messageList_10_0= ruleMessage ) ) )* otherlv_11= '}' ) | (otherlv_12= '[' ( ( ruleQualifiedName ) ) otherlv_14= ']' ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:359:2: ( (lv_name_0_0= RULE_ID ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:360:1: (lv_name_0_0= RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:360:1: (lv_name_0_0= RULE_ID )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:361:3: lv_name_0_0= RULE_ID
+ {
+ lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleMessageEntry703); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_name_0_0, grammarAccess.getMessageEntryAccess().getNameIDTerminalRuleCall_0_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMessageEntryRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_0_0,
+ "ID");
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:377:2: (otherlv_1= '(' ( (lv_paramList_2_0= ruleMessageParam ) ) (otherlv_3= ',' ( (lv_paramList_4_0= ruleMessageParam ) ) )* otherlv_5= ')' )?
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==22) ) {
+ alt6=1;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:377:4: otherlv_1= '(' ( (lv_paramList_2_0= ruleMessageParam ) ) (otherlv_3= ',' ( (lv_paramList_4_0= ruleMessageParam ) ) )* otherlv_5= ')'
+ {
+ otherlv_1=(Token)match(input,22,FOLLOW_22_in_ruleMessageEntry721); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getMessageEntryAccess().getLeftParenthesisKeyword_1_0());
+
+ }
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:381:1: ( (lv_paramList_2_0= ruleMessageParam ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:382:1: (lv_paramList_2_0= ruleMessageParam )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:382:1: (lv_paramList_2_0= ruleMessageParam )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:383:3: lv_paramList_2_0= ruleMessageParam
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getMessageEntryAccess().getParamListMessageParamParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleMessageParam_in_ruleMessageEntry742);
+ lv_paramList_2_0=ruleMessageParam();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getMessageEntryRule());
+ }
+ add(
+ current,
+ "paramList",
+ lv_paramList_2_0,
+ "MessageParam");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:399:2: (otherlv_3= ',' ( (lv_paramList_4_0= ruleMessageParam ) ) )*
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==23) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:399:4: otherlv_3= ',' ( (lv_paramList_4_0= ruleMessageParam ) )
+ {
+ otherlv_3=(Token)match(input,23,FOLLOW_23_in_ruleMessageEntry755); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getMessageEntryAccess().getCommaKeyword_1_2_0());
+
+ }
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:403:1: ( (lv_paramList_4_0= ruleMessageParam ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:404:1: (lv_paramList_4_0= ruleMessageParam )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:404:1: (lv_paramList_4_0= ruleMessageParam )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:405:3: lv_paramList_4_0= ruleMessageParam
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getMessageEntryAccess().getParamListMessageParamParserRuleCall_1_2_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleMessageParam_in_ruleMessageEntry776);
+ lv_paramList_4_0=ruleMessageParam();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getMessageEntryRule());
+ }
+ add(
+ current,
+ "paramList",
+ lv_paramList_4_0,
+ "MessageParam");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+ otherlv_5=(Token)match(input,24,FOLLOW_24_in_ruleMessageEntry790); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getMessageEntryAccess().getRightParenthesisKeyword_1_3());
+
+ }
+
+ }
+ break;
+
+ }
+
+ otherlv_6=(Token)match(input,25,FOLLOW_25_in_ruleMessageEntry804); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_6, grammarAccess.getMessageEntryAccess().getColonKeyword_2());
+
+ }
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:429:1: ( (otherlv_7= '{' ( (lv_messageList_8_0= ruleMessage ) ) (otherlv_9= ',' ( (lv_messageList_10_0= ruleMessage ) ) )* otherlv_11= '}' ) | (otherlv_12= '[' ( ( ruleQualifiedName ) ) otherlv_14= ']' ) )
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0==16) ) {
+ alt8=1;
+ }
+ else if ( (LA8_0==26) ) {
+ alt8=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 8, 0, input);
+
+ throw nvae;
+ }
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:429:2: (otherlv_7= '{' ( (lv_messageList_8_0= ruleMessage ) ) (otherlv_9= ',' ( (lv_messageList_10_0= ruleMessage ) ) )* otherlv_11= '}' )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:429:2: (otherlv_7= '{' ( (lv_messageList_8_0= ruleMessage ) ) (otherlv_9= ',' ( (lv_messageList_10_0= ruleMessage ) ) )* otherlv_11= '}' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:429:4: otherlv_7= '{' ( (lv_messageList_8_0= ruleMessage ) ) (otherlv_9= ',' ( (lv_messageList_10_0= ruleMessage ) ) )* otherlv_11= '}'
+ {
+ otherlv_7=(Token)match(input,16,FOLLOW_16_in_ruleMessageEntry818); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_7, grammarAccess.getMessageEntryAccess().getLeftCurlyBracketKeyword_3_0_0());
+
+ }
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:433:1: ( (lv_messageList_8_0= ruleMessage ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:434:1: (lv_messageList_8_0= ruleMessage )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:434:1: (lv_messageList_8_0= ruleMessage )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:435:3: lv_messageList_8_0= ruleMessage
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getMessageEntryAccess().getMessageListMessageParserRuleCall_3_0_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleMessage_in_ruleMessageEntry839);
+ lv_messageList_8_0=ruleMessage();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getMessageEntryRule());
+ }
+ add(
+ current,
+ "messageList",
+ lv_messageList_8_0,
+ "Message");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:451:2: (otherlv_9= ',' ( (lv_messageList_10_0= ruleMessage ) ) )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0==23) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:451:4: otherlv_9= ',' ( (lv_messageList_10_0= ruleMessage ) )
+ {
+ otherlv_9=(Token)match(input,23,FOLLOW_23_in_ruleMessageEntry852); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_9, grammarAccess.getMessageEntryAccess().getCommaKeyword_3_0_2_0());
+
+ }
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:455:1: ( (lv_messageList_10_0= ruleMessage ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:456:1: (lv_messageList_10_0= ruleMessage )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:456:1: (lv_messageList_10_0= ruleMessage )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:457:3: lv_messageList_10_0= ruleMessage
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getMessageEntryAccess().getMessageListMessageParserRuleCall_3_0_2_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleMessage_in_ruleMessageEntry873);
+ lv_messageList_10_0=ruleMessage();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getMessageEntryRule());
+ }
+ add(
+ current,
+ "messageList",
+ lv_messageList_10_0,
+ "Message");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ otherlv_11=(Token)match(input,17,FOLLOW_17_in_ruleMessageEntry887); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_11, grammarAccess.getMessageEntryAccess().getRightCurlyBracketKeyword_3_0_3());
+
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:478:6: (otherlv_12= '[' ( ( ruleQualifiedName ) ) otherlv_14= ']' )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:478:6: (otherlv_12= '[' ( ( ruleQualifiedName ) ) otherlv_14= ']' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:478:8: otherlv_12= '[' ( ( ruleQualifiedName ) ) otherlv_14= ']'
+ {
+ otherlv_12=(Token)match(input,26,FOLLOW_26_in_ruleMessageEntry907); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_12, grammarAccess.getMessageEntryAccess().getLeftSquareBracketKeyword_3_1_0());
+
+ }
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:482:1: ( ( ruleQualifiedName ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:483:1: ( ruleQualifiedName )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:483:1: ( ruleQualifiedName )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:484:3: ruleQualifiedName
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMessageEntryRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getMessageEntryAccess().getEntryRefMessageEntryCrossReference_3_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_ruleMessageEntry930);
+ ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_14=(Token)match(input,27,FOLLOW_27_in_ruleMessageEntry942); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_14, grammarAccess.getMessageEntryAccess().getRightSquareBracketKeyword_3_1_2());
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleMessageEntry"
+
+
+ // $ANTLR start "entryRuleMessageParam"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:509:1: entryRuleMessageParam returns [EObject current=null] : iv_ruleMessageParam= ruleMessageParam EOF ;
+ public final EObject entryRuleMessageParam() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleMessageParam = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:510:2: (iv_ruleMessageParam= ruleMessageParam EOF )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:511:2: iv_ruleMessageParam= ruleMessageParam EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getMessageParamRule());
+ }
+ pushFollow(FOLLOW_ruleMessageParam_in_entryRuleMessageParam980);
+ iv_ruleMessageParam=ruleMessageParam();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleMessageParam;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleMessageParam990); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleMessageParam"
+
+
+ // $ANTLR start "ruleMessageParam"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:518:1: ruleMessageParam returns [EObject current=null] : ( ( (lv_predefined_0_0= rulePredefinedTypes ) ) ( (lv_var_1_0= RULE_ID ) ) ) ;
+ public final EObject ruleMessageParam() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_var_1_0=null;
+ Enumerator lv_predefined_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:521:28: ( ( ( (lv_predefined_0_0= rulePredefinedTypes ) ) ( (lv_var_1_0= RULE_ID ) ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:522:1: ( ( (lv_predefined_0_0= rulePredefinedTypes ) ) ( (lv_var_1_0= RULE_ID ) ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:522:1: ( ( (lv_predefined_0_0= rulePredefinedTypes ) ) ( (lv_var_1_0= RULE_ID ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:522:2: ( (lv_predefined_0_0= rulePredefinedTypes ) ) ( (lv_var_1_0= RULE_ID ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:522:2: ( (lv_predefined_0_0= rulePredefinedTypes ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:523:1: (lv_predefined_0_0= rulePredefinedTypes )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:523:1: (lv_predefined_0_0= rulePredefinedTypes )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:524:3: lv_predefined_0_0= rulePredefinedTypes
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getMessageParamAccess().getPredefinedPredefinedTypesEnumRuleCall_0_0());
+
+ }
+ pushFollow(FOLLOW_rulePredefinedTypes_in_ruleMessageParam1036);
+ lv_predefined_0_0=rulePredefinedTypes();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getMessageParamRule());
+ }
+ set(
+ current,
+ "predefined",
+ lv_predefined_0_0,
+ "PredefinedTypes");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:540:2: ( (lv_var_1_0= RULE_ID ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:541:1: (lv_var_1_0= RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:541:1: (lv_var_1_0= RULE_ID )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:542:3: lv_var_1_0= RULE_ID
+ {
+ lv_var_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleMessageParam1053); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_var_1_0, grammarAccess.getMessageParamAccess().getVarIDTerminalRuleCall_1_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMessageParamRule());
+ }
+ setWithLastConsumed(
+ current,
+ "var",
+ lv_var_1_0,
+ "ID");
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleMessageParam"
+
+
+ // $ANTLR start "entryRuleMessage"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:566:1: entryRuleMessage returns [EObject current=null] : iv_ruleMessage= ruleMessage EOF ;
+ public final EObject entryRuleMessage() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleMessage = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:567:2: (iv_ruleMessage= ruleMessage EOF )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:568:2: iv_ruleMessage= ruleMessage EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getMessageRule());
+ }
+ pushFollow(FOLLOW_ruleMessage_in_entryRuleMessage1094);
+ iv_ruleMessage=ruleMessage();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleMessage;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleMessage1104); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleMessage"
+
+
+ // $ANTLR start "ruleMessage"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:575:1: ruleMessage returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= ':' ( (lv_message_2_0= ruleRichString ) ) ) ;
+ public final EObject ruleMessage() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_name_0_0=null;
+ Token otherlv_1=null;
+ EObject lv_message_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:578:28: ( ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= ':' ( (lv_message_2_0= ruleRichString ) ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:579:1: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= ':' ( (lv_message_2_0= ruleRichString ) ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:579:1: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= ':' ( (lv_message_2_0= ruleRichString ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:579:2: ( (lv_name_0_0= RULE_ID ) ) otherlv_1= ':' ( (lv_message_2_0= ruleRichString ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:579:2: ( (lv_name_0_0= RULE_ID ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:580:1: (lv_name_0_0= RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:580:1: (lv_name_0_0= RULE_ID )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:581:3: lv_name_0_0= RULE_ID
+ {
+ lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleMessage1146); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_name_0_0, grammarAccess.getMessageAccess().getNameIDTerminalRuleCall_0_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMessageRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_0_0,
+ "ID");
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,25,FOLLOW_25_in_ruleMessage1163); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getMessageAccess().getColonKeyword_1());
+
+ }
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:601:1: ( (lv_message_2_0= ruleRichString ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:602:1: (lv_message_2_0= ruleRichString )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:602:1: (lv_message_2_0= ruleRichString )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:603:3: lv_message_2_0= ruleRichString
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getMessageAccess().getMessageRichStringParserRuleCall_2_0());
+
+ }
+ pushFollow(FOLLOW_ruleRichString_in_ruleMessage1184);
+ lv_message_2_0=ruleRichString();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getMessageRule());
+ }
+ set(
+ current,
+ "message",
+ lv_message_2_0,
+ "RichString");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleMessage"
+
+
+ // $ANTLR start "entryRuleRichString"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:627:1: entryRuleRichString returns [EObject current=null] : iv_ruleRichString= ruleRichString EOF ;
+ public final EObject entryRuleRichString() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleRichString = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:628:2: (iv_ruleRichString= ruleRichString EOF )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:629:2: iv_ruleRichString= ruleRichString EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getRichStringRule());
+ }
+ pushFollow(FOLLOW_ruleRichString_in_entryRuleRichString1220);
+ iv_ruleRichString=ruleRichString();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleRichString;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRichString1230); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleRichString"
+
+
+ // $ANTLR start "ruleRichString"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:636:1: ruleRichString returns [EObject current=null] : ( ( (lv_expressions_0_0= ruleRichStringLiteral ) ) | ( ( (lv_expressions_1_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_2_0= ruleRichVarPart ) )? ( ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_4_0= ruleRichVarPart ) )? )* ( (lv_expressions_5_0= ruleRichStringLiteralEnd ) ) ) ) ;
+ public final EObject ruleRichString() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_expressions_0_0 = null;
+
+ EObject lv_expressions_1_0 = null;
+
+ EObject lv_expressions_2_0 = null;
+
+ EObject lv_expressions_3_0 = null;
+
+ EObject lv_expressions_4_0 = null;
+
+ EObject lv_expressions_5_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:639:28: ( ( ( (lv_expressions_0_0= ruleRichStringLiteral ) ) | ( ( (lv_expressions_1_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_2_0= ruleRichVarPart ) )? ( ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_4_0= ruleRichVarPart ) )? )* ( (lv_expressions_5_0= ruleRichStringLiteralEnd ) ) ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:640:1: ( ( (lv_expressions_0_0= ruleRichStringLiteral ) ) | ( ( (lv_expressions_1_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_2_0= ruleRichVarPart ) )? ( ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_4_0= ruleRichVarPart ) )? )* ( (lv_expressions_5_0= ruleRichStringLiteralEnd ) ) ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:640:1: ( ( (lv_expressions_0_0= ruleRichStringLiteral ) ) | ( ( (lv_expressions_1_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_2_0= ruleRichVarPart ) )? ( ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_4_0= ruleRichVarPart ) )? )* ( (lv_expressions_5_0= ruleRichStringLiteralEnd ) ) ) )
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0==RULE_RICH_TEXT) ) {
+ alt12=1;
+ }
+ else if ( (LA12_0==RULE_RICH_TEXT_START) ) {
+ alt12=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 12, 0, input);
+
+ throw nvae;
+ }
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:640:2: ( (lv_expressions_0_0= ruleRichStringLiteral ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:640:2: ( (lv_expressions_0_0= ruleRichStringLiteral ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:641:1: (lv_expressions_0_0= ruleRichStringLiteral )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:641:1: (lv_expressions_0_0= ruleRichStringLiteral )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:642:3: lv_expressions_0_0= ruleRichStringLiteral
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralParserRuleCall_0_0());
+
+ }
+ pushFollow(FOLLOW_ruleRichStringLiteral_in_ruleRichString1276);
+ lv_expressions_0_0=ruleRichStringLiteral();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRichStringRule());
+ }
+ add(
+ current,
+ "expressions",
+ lv_expressions_0_0,
+ "RichStringLiteral");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:659:6: ( ( (lv_expressions_1_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_2_0= ruleRichVarPart ) )? ( ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_4_0= ruleRichVarPart ) )? )* ( (lv_expressions_5_0= ruleRichStringLiteralEnd ) ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:659:6: ( ( (lv_expressions_1_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_2_0= ruleRichVarPart ) )? ( ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_4_0= ruleRichVarPart ) )? )* ( (lv_expressions_5_0= ruleRichStringLiteralEnd ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:659:7: ( (lv_expressions_1_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_2_0= ruleRichVarPart ) )? ( ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_4_0= ruleRichVarPart ) )? )* ( (lv_expressions_5_0= ruleRichStringLiteralEnd ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:659:7: ( (lv_expressions_1_0= ruleRichStringLiteralStart ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:660:1: (lv_expressions_1_0= ruleRichStringLiteralStart )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:660:1: (lv_expressions_1_0= ruleRichStringLiteralStart )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:661:3: lv_expressions_1_0= ruleRichStringLiteralStart
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralStartParserRuleCall_1_0_0());
+
+ }
+ pushFollow(FOLLOW_ruleRichStringLiteralStart_in_ruleRichString1304);
+ lv_expressions_1_0=ruleRichStringLiteralStart();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRichStringRule());
+ }
+ add(
+ current,
+ "expressions",
+ lv_expressions_1_0,
+ "RichStringLiteralStart");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:677:2: ( (lv_expressions_2_0= ruleRichVarPart ) )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0==RULE_ID) ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:678:1: (lv_expressions_2_0= ruleRichVarPart )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:678:1: (lv_expressions_2_0= ruleRichVarPart )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:679:3: lv_expressions_2_0= ruleRichVarPart
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichVarPartParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleRichVarPart_in_ruleRichString1325);
+ lv_expressions_2_0=ruleRichVarPart();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRichStringRule());
+ }
+ add(
+ current,
+ "expressions",
+ lv_expressions_2_0,
+ "RichVarPart");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:695:3: ( ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_4_0= ruleRichVarPart ) )? )*
+ loop11:
+ do {
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0==RULE_RICH_TEXT_INBETWEEN) ) {
+ alt11=1;
+ }
+
+
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:695:4: ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_4_0= ruleRichVarPart ) )?
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:695:4: ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:696:1: (lv_expressions_3_0= ruleRichStringLiteralInbetween )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:696:1: (lv_expressions_3_0= ruleRichStringLiteralInbetween )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:697:3: lv_expressions_3_0= ruleRichStringLiteralInbetween
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralInbetweenParserRuleCall_1_2_0_0());
+
+ }
+ pushFollow(FOLLOW_ruleRichStringLiteralInbetween_in_ruleRichString1348);
+ lv_expressions_3_0=ruleRichStringLiteralInbetween();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRichStringRule());
+ }
+ add(
+ current,
+ "expressions",
+ lv_expressions_3_0,
+ "RichStringLiteralInbetween");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:713:2: ( (lv_expressions_4_0= ruleRichVarPart ) )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0==RULE_ID) ) {
+ alt10=1;
+ }
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:714:1: (lv_expressions_4_0= ruleRichVarPart )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:714:1: (lv_expressions_4_0= ruleRichVarPart )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:715:3: lv_expressions_4_0= ruleRichVarPart
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichVarPartParserRuleCall_1_2_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleRichVarPart_in_ruleRichString1369);
+ lv_expressions_4_0=ruleRichVarPart();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRichStringRule());
+ }
+ add(
+ current,
+ "expressions",
+ lv_expressions_4_0,
+ "RichVarPart");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop11;
+ }
+ } while (true);
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:731:5: ( (lv_expressions_5_0= ruleRichStringLiteralEnd ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:732:1: (lv_expressions_5_0= ruleRichStringLiteralEnd )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:732:1: (lv_expressions_5_0= ruleRichStringLiteralEnd )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:733:3: lv_expressions_5_0= ruleRichStringLiteralEnd
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralEndParserRuleCall_1_3_0());
+
+ }
+ pushFollow(FOLLOW_ruleRichStringLiteralEnd_in_ruleRichString1393);
+ lv_expressions_5_0=ruleRichStringLiteralEnd();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRichStringRule());
+ }
+ add(
+ current,
+ "expressions",
+ lv_expressions_5_0,
+ "RichStringLiteralEnd");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleRichString"
+
+
+ // $ANTLR start "entryRuleRichStringLiteral"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:757:1: entryRuleRichStringLiteral returns [EObject current=null] : iv_ruleRichStringLiteral= ruleRichStringLiteral EOF ;
+ public final EObject entryRuleRichStringLiteral() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleRichStringLiteral = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:758:2: (iv_ruleRichStringLiteral= ruleRichStringLiteral EOF )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:759:2: iv_ruleRichStringLiteral= ruleRichStringLiteral EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getRichStringLiteralRule());
+ }
+ pushFollow(FOLLOW_ruleRichStringLiteral_in_entryRuleRichStringLiteral1430);
+ iv_ruleRichStringLiteral=ruleRichStringLiteral();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleRichStringLiteral;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRichStringLiteral1440); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleRichStringLiteral"
+
+
+ // $ANTLR start "ruleRichStringLiteral"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:766:1: ruleRichStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_RICH_TEXT ) ) ;
+ public final EObject ruleRichStringLiteral() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:769:28: ( ( (lv_value_0_0= RULE_RICH_TEXT ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:770:1: ( (lv_value_0_0= RULE_RICH_TEXT ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:770:1: ( (lv_value_0_0= RULE_RICH_TEXT ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:771:1: (lv_value_0_0= RULE_RICH_TEXT )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:771:1: (lv_value_0_0= RULE_RICH_TEXT )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:772:3: lv_value_0_0= RULE_RICH_TEXT
+ {
+ lv_value_0_0=(Token)match(input,RULE_RICH_TEXT,FOLLOW_RULE_RICH_TEXT_in_ruleRichStringLiteral1481); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_value_0_0, grammarAccess.getRichStringLiteralAccess().getValueRICH_TEXTTerminalRuleCall_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getRichStringLiteralRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_0_0,
+ "RICH_TEXT");
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleRichStringLiteral"
+
+
+ // $ANTLR start "entryRuleRichStringLiteralStart"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:796:1: entryRuleRichStringLiteralStart returns [EObject current=null] : iv_ruleRichStringLiteralStart= ruleRichStringLiteralStart EOF ;
+ public final EObject entryRuleRichStringLiteralStart() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleRichStringLiteralStart = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:797:2: (iv_ruleRichStringLiteralStart= ruleRichStringLiteralStart EOF )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:798:2: iv_ruleRichStringLiteralStart= ruleRichStringLiteralStart EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getRichStringLiteralStartRule());
+ }
+ pushFollow(FOLLOW_ruleRichStringLiteralStart_in_entryRuleRichStringLiteralStart1521);
+ iv_ruleRichStringLiteralStart=ruleRichStringLiteralStart();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleRichStringLiteralStart;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRichStringLiteralStart1531); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleRichStringLiteralStart"
+
+
+ // $ANTLR start "ruleRichStringLiteralStart"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:805:1: ruleRichStringLiteralStart returns [EObject current=null] : ( (lv_value_0_0= RULE_RICH_TEXT_START ) ) ;
+ public final EObject ruleRichStringLiteralStart() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:808:28: ( ( (lv_value_0_0= RULE_RICH_TEXT_START ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:809:1: ( (lv_value_0_0= RULE_RICH_TEXT_START ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:809:1: ( (lv_value_0_0= RULE_RICH_TEXT_START ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:810:1: (lv_value_0_0= RULE_RICH_TEXT_START )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:810:1: (lv_value_0_0= RULE_RICH_TEXT_START )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:811:3: lv_value_0_0= RULE_RICH_TEXT_START
+ {
+ lv_value_0_0=(Token)match(input,RULE_RICH_TEXT_START,FOLLOW_RULE_RICH_TEXT_START_in_ruleRichStringLiteralStart1572); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_value_0_0, grammarAccess.getRichStringLiteralStartAccess().getValueRICH_TEXT_STARTTerminalRuleCall_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getRichStringLiteralStartRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_0_0,
+ "RICH_TEXT_START");
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleRichStringLiteralStart"
+
+
+ // $ANTLR start "entryRuleRichStringLiteralEnd"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:835:1: entryRuleRichStringLiteralEnd returns [EObject current=null] : iv_ruleRichStringLiteralEnd= ruleRichStringLiteralEnd EOF ;
+ public final EObject entryRuleRichStringLiteralEnd() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleRichStringLiteralEnd = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:836:2: (iv_ruleRichStringLiteralEnd= ruleRichStringLiteralEnd EOF )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:837:2: iv_ruleRichStringLiteralEnd= ruleRichStringLiteralEnd EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getRichStringLiteralEndRule());
+ }
+ pushFollow(FOLLOW_ruleRichStringLiteralEnd_in_entryRuleRichStringLiteralEnd1612);
+ iv_ruleRichStringLiteralEnd=ruleRichStringLiteralEnd();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleRichStringLiteralEnd;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRichStringLiteralEnd1622); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleRichStringLiteralEnd"
+
+
+ // $ANTLR start "ruleRichStringLiteralEnd"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:844:1: ruleRichStringLiteralEnd returns [EObject current=null] : ( (lv_value_0_0= RULE_RICH_TEXT_END ) ) ;
+ public final EObject ruleRichStringLiteralEnd() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:847:28: ( ( (lv_value_0_0= RULE_RICH_TEXT_END ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:848:1: ( (lv_value_0_0= RULE_RICH_TEXT_END ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:848:1: ( (lv_value_0_0= RULE_RICH_TEXT_END ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:849:1: (lv_value_0_0= RULE_RICH_TEXT_END )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:849:1: (lv_value_0_0= RULE_RICH_TEXT_END )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:850:3: lv_value_0_0= RULE_RICH_TEXT_END
+ {
+ lv_value_0_0=(Token)match(input,RULE_RICH_TEXT_END,FOLLOW_RULE_RICH_TEXT_END_in_ruleRichStringLiteralEnd1663); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_value_0_0, grammarAccess.getRichStringLiteralEndAccess().getValueRICH_TEXT_ENDTerminalRuleCall_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getRichStringLiteralEndRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_0_0,
+ "RICH_TEXT_END");
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleRichStringLiteralEnd"
+
+
+ // $ANTLR start "entryRuleRichStringLiteralInbetween"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:874:1: entryRuleRichStringLiteralInbetween returns [EObject current=null] : iv_ruleRichStringLiteralInbetween= ruleRichStringLiteralInbetween EOF ;
+ public final EObject entryRuleRichStringLiteralInbetween() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleRichStringLiteralInbetween = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:875:2: (iv_ruleRichStringLiteralInbetween= ruleRichStringLiteralInbetween EOF )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:876:2: iv_ruleRichStringLiteralInbetween= ruleRichStringLiteralInbetween EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getRichStringLiteralInbetweenRule());
+ }
+ pushFollow(FOLLOW_ruleRichStringLiteralInbetween_in_entryRuleRichStringLiteralInbetween1703);
+ iv_ruleRichStringLiteralInbetween=ruleRichStringLiteralInbetween();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleRichStringLiteralInbetween;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRichStringLiteralInbetween1713); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleRichStringLiteralInbetween"
+
+
+ // $ANTLR start "ruleRichStringLiteralInbetween"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:883:1: ruleRichStringLiteralInbetween returns [EObject current=null] : ( (lv_value_0_0= RULE_RICH_TEXT_INBETWEEN ) ) ;
+ public final EObject ruleRichStringLiteralInbetween() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:886:28: ( ( (lv_value_0_0= RULE_RICH_TEXT_INBETWEEN ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:887:1: ( (lv_value_0_0= RULE_RICH_TEXT_INBETWEEN ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:887:1: ( (lv_value_0_0= RULE_RICH_TEXT_INBETWEEN ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:888:1: (lv_value_0_0= RULE_RICH_TEXT_INBETWEEN )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:888:1: (lv_value_0_0= RULE_RICH_TEXT_INBETWEEN )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:889:3: lv_value_0_0= RULE_RICH_TEXT_INBETWEEN
+ {
+ lv_value_0_0=(Token)match(input,RULE_RICH_TEXT_INBETWEEN,FOLLOW_RULE_RICH_TEXT_INBETWEEN_in_ruleRichStringLiteralInbetween1754); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_value_0_0, grammarAccess.getRichStringLiteralInbetweenAccess().getValueRICH_TEXT_INBETWEENTerminalRuleCall_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getRichStringLiteralInbetweenRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_0_0,
+ "RICH_TEXT_INBETWEEN");
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleRichStringLiteralInbetween"
+
+
+ // $ANTLR start "entryRuleRichVarPart"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:913:1: entryRuleRichVarPart returns [EObject current=null] : iv_ruleRichVarPart= ruleRichVarPart EOF ;
+ public final EObject entryRuleRichVarPart() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleRichVarPart = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:914:2: (iv_ruleRichVarPart= ruleRichVarPart EOF )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:915:2: iv_ruleRichVarPart= ruleRichVarPart EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getRichVarPartRule());
+ }
+ pushFollow(FOLLOW_ruleRichVarPart_in_entryRuleRichVarPart1794);
+ iv_ruleRichVarPart=ruleRichVarPart();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleRichVarPart;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRichVarPart1804); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleRichVarPart"
+
+
+ // $ANTLR start "ruleRichVarPart"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:922:1: ruleRichVarPart returns [EObject current=null] : ( ( (lv_key_0_0= RULE_ID ) ) ( ( (lv_format_1_0= RULE_STRING ) ) ( ( ruleQualifiedName ) )? )? ) ;
+ public final EObject ruleRichVarPart() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_key_0_0=null;
+ Token lv_format_1_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:925:28: ( ( ( (lv_key_0_0= RULE_ID ) ) ( ( (lv_format_1_0= RULE_STRING ) ) ( ( ruleQualifiedName ) )? )? ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:926:1: ( ( (lv_key_0_0= RULE_ID ) ) ( ( (lv_format_1_0= RULE_STRING ) ) ( ( ruleQualifiedName ) )? )? )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:926:1: ( ( (lv_key_0_0= RULE_ID ) ) ( ( (lv_format_1_0= RULE_STRING ) ) ( ( ruleQualifiedName ) )? )? )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:926:2: ( (lv_key_0_0= RULE_ID ) ) ( ( (lv_format_1_0= RULE_STRING ) ) ( ( ruleQualifiedName ) )? )?
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:926:2: ( (lv_key_0_0= RULE_ID ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:927:1: (lv_key_0_0= RULE_ID )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:927:1: (lv_key_0_0= RULE_ID )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:928:3: lv_key_0_0= RULE_ID
+ {
+ lv_key_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRichVarPart1846); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_key_0_0, grammarAccess.getRichVarPartAccess().getKeyIDTerminalRuleCall_0_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getRichVarPartRule());
+ }
+ setWithLastConsumed(
+ current,
+ "key",
+ lv_key_0_0,
+ "ID");
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:944:2: ( ( (lv_format_1_0= RULE_STRING ) ) ( ( ruleQualifiedName ) )? )?
+ int alt14=2;
+ int LA14_0 = input.LA(1);
+
+ if ( (LA14_0==RULE_STRING) ) {
+ alt14=1;
+ }
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:944:3: ( (lv_format_1_0= RULE_STRING ) ) ( ( ruleQualifiedName ) )?
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:944:3: ( (lv_format_1_0= RULE_STRING ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:945:1: (lv_format_1_0= RULE_STRING )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:945:1: (lv_format_1_0= RULE_STRING )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:946:3: lv_format_1_0= RULE_STRING
+ {
+ lv_format_1_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleRichVarPart1869); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_format_1_0, grammarAccess.getRichVarPartAccess().getFormatSTRINGTerminalRuleCall_1_0_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getRichVarPartRule());
+ }
+ setWithLastConsumed(
+ current,
+ "format",
+ lv_format_1_0,
+ "STRING");
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:962:2: ( ( ruleQualifiedName ) )?
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0==RULE_ID) ) {
+ alt13=1;
+ }
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:963:1: ( ruleQualifiedName )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:963:1: ( ruleQualifiedName )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:964:3: ruleQualifiedName
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getRichVarPartRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getRichVarPartAccess().getFormatterClassNLSFormatterCrossReference_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_ruleRichVarPart1897);
+ ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleRichVarPart"
+
+
+ // $ANTLR start "entryRuleValidID"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:985:1: entryRuleValidID returns [String current=null] : iv_ruleValidID= ruleValidID EOF ;
+ public final String entryRuleValidID() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleValidID = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:986:2: (iv_ruleValidID= ruleValidID EOF )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:987:2: iv_ruleValidID= ruleValidID EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getValidIDRule());
+ }
+ pushFollow(FOLLOW_ruleValidID_in_entryRuleValidID1937);
+ iv_ruleValidID=ruleValidID();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleValidID.getText();
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleValidID1948); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleValidID"
+
+
+ // $ANTLR start "ruleValidID"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:994: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 {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:997:28: (this_ID_0= RULE_ID )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:998:5: this_ID_0= RULE_ID
+ {
+ this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleValidID1987); 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 "entryRuleQualifiedName"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1013:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
+ public final String entryRuleQualifiedName() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleQualifiedName = null;
+
+
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1014:2: (iv_ruleQualifiedName= ruleQualifiedName EOF )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1015:2: iv_ruleQualifiedName= ruleQualifiedName EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getQualifiedNameRule());
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName2032);
+ iv_ruleQualifiedName=ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleQualifiedName.getText();
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedName2043); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleQualifiedName"
+
+
+ // $ANTLR start "ruleQualifiedName"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1022: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 {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1025:28: ( (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1026:1: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1026:1: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1027:5: this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleValidID_in_ruleQualifiedName2090);
+ 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();
+
+ }
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1037:1: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*
+ loop15:
+ do {
+ int alt15=2;
+ int LA15_0 = input.LA(1);
+
+ if ( (LA15_0==28) && (synpred1_InternalNLSDsl())) {
+ alt15=1;
+ }
+
+
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1037:2: ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1037:2: ( ( '.' )=>kw= '.' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1037:3: ( '.' )=>kw= '.'
+ {
+ kw=(Token)match(input,28,FOLLOW_28_in_ruleQualifiedName2118); 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_ruleValidID_in_ruleQualifiedName2141);
+ 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 loop15;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleQualifiedName"
+
+
+ // $ANTLR start "rulePredefinedTypes"
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1064:1: rulePredefinedTypes returns [Enumerator current=null] : ( (enumLiteral_0= 'ANY' ) | (enumLiteral_1= 'NUMBER' ) | (enumLiteral_2= 'DATE' ) ) ;
+ public final Enumerator rulePredefinedTypes() throws RecognitionException {
+ Enumerator current = null;
+
+ Token enumLiteral_0=null;
+ Token enumLiteral_1=null;
+ Token enumLiteral_2=null;
+
+ enterRule();
+ try {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1066:28: ( ( (enumLiteral_0= 'ANY' ) | (enumLiteral_1= 'NUMBER' ) | (enumLiteral_2= 'DATE' ) ) )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1067:1: ( (enumLiteral_0= 'ANY' ) | (enumLiteral_1= 'NUMBER' ) | (enumLiteral_2= 'DATE' ) )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1067:1: ( (enumLiteral_0= 'ANY' ) | (enumLiteral_1= 'NUMBER' ) | (enumLiteral_2= 'DATE' ) )
+ int alt16=3;
+ switch ( input.LA(1) ) {
+ case 29:
+ {
+ alt16=1;
+ }
+ break;
+ case 30:
+ {
+ alt16=2;
+ }
+ break;
+ case 31:
+ {
+ alt16=3;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 16, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1067:2: (enumLiteral_0= 'ANY' )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1067:2: (enumLiteral_0= 'ANY' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1067:4: enumLiteral_0= 'ANY'
+ {
+ enumLiteral_0=(Token)match(input,29,FOLLOW_29_in_rulePredefinedTypes2202); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = grammarAccess.getPredefinedTypesAccess().getANYEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getPredefinedTypesAccess().getANYEnumLiteralDeclaration_0());
+
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1073:6: (enumLiteral_1= 'NUMBER' )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1073:6: (enumLiteral_1= 'NUMBER' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1073:8: enumLiteral_1= 'NUMBER'
+ {
+ enumLiteral_1=(Token)match(input,30,FOLLOW_30_in_rulePredefinedTypes2219); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = grammarAccess.getPredefinedTypesAccess().getNUMBEREnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getPredefinedTypesAccess().getNUMBEREnumLiteralDeclaration_1());
+
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1079:6: (enumLiteral_2= 'DATE' )
+ {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1079:6: (enumLiteral_2= 'DATE' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1079:8: enumLiteral_2= 'DATE'
+ {
+ enumLiteral_2=(Token)match(input,31,FOLLOW_31_in_rulePredefinedTypes2236); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = grammarAccess.getPredefinedTypesAccess().getDATEEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getPredefinedTypesAccess().getDATEEnumLiteralDeclaration_2());
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePredefinedTypes"
+
+ // $ANTLR start synpred1_InternalNLSDsl
+ public final void synpred1_InternalNLSDsl_fragment() throws RecognitionException {
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1037:3: ( '.' )
+ // ../org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/parser/antlr/internal/InternalNLSDsl.g:1038:2: '.'
+ {
+ match(input,28,FOLLOW_28_in_synpred1_InternalNLSDsl2109); if (state.failed) return ;
+
+ }
+ }
+ // $ANTLR end synpred1_InternalNLSDsl
+
+ // Delegated rules
+
+ public final boolean synpred1_InternalNLSDsl() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred1_InternalNLSDsl_fragment(); // can never 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 static final BitSet FOLLOW_ruleNLS_in_entryRuleNLS75 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNLS85 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePackageDeclaration_in_ruleNLS131 = new BitSet(new long[]{0x0000000000010000L});
+ public static final BitSet FOLLOW_16_in_ruleNLS144 = new BitSet(new long[]{0x0000000000080000L});
+ public static final BitSet FOLLOW_ruleNLSBundle_in_ruleNLS165 = new BitSet(new long[]{0x00000000000A0000L});
+ public static final BitSet FOLLOW_17_in_ruleNLS178 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePackageDeclaration_in_entryRulePackageDeclaration214 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePackageDeclaration224 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_18_in_rulePackageDeclaration261 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_rulePackageDeclaration282 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNLSBundle_in_entryRuleNLSBundle318 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNLSBundle328 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_ruleNLSBundle365 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleNLSBundle382 = new BitSet(new long[]{0x0000000000100000L});
+ public static final BitSet FOLLOW_20_in_ruleNLSBundle399 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleNLSBundle416 = new BitSet(new long[]{0x0000000000010000L});
+ public static final BitSet FOLLOW_16_in_ruleNLSBundle433 = new BitSet(new long[]{0x0000000000200010L});
+ public static final BitSet FOLLOW_ruleNLSFormatter_in_ruleNLSBundle454 = new BitSet(new long[]{0x0000000000200010L});
+ public static final BitSet FOLLOW_ruleMessageEntry_in_ruleNLSBundle476 = new BitSet(new long[]{0x0000000000220010L});
+ public static final BitSet FOLLOW_17_in_ruleNLSBundle489 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNLSFormatter_in_entryRuleNLSFormatter525 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNLSFormatter535 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_21_in_ruleNLSFormatter572 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleNLSFormatter589 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_ruleNLSFormatter615 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMessageEntry_in_entryRuleMessageEntry651 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleMessageEntry661 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleMessageEntry703 = new BitSet(new long[]{0x0000000002400000L});
+ public static final BitSet FOLLOW_22_in_ruleMessageEntry721 = new BitSet(new long[]{0x00000000E0000000L});
+ public static final BitSet FOLLOW_ruleMessageParam_in_ruleMessageEntry742 = new BitSet(new long[]{0x0000000001800000L});
+ public static final BitSet FOLLOW_23_in_ruleMessageEntry755 = new BitSet(new long[]{0x00000000E0000000L});
+ public static final BitSet FOLLOW_ruleMessageParam_in_ruleMessageEntry776 = new BitSet(new long[]{0x0000000001800000L});
+ public static final BitSet FOLLOW_24_in_ruleMessageEntry790 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleMessageEntry804 = new BitSet(new long[]{0x0000000004010000L});
+ public static final BitSet FOLLOW_16_in_ruleMessageEntry818 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleMessage_in_ruleMessageEntry839 = new BitSet(new long[]{0x0000000000820000L});
+ public static final BitSet FOLLOW_23_in_ruleMessageEntry852 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleMessage_in_ruleMessageEntry873 = new BitSet(new long[]{0x0000000000820000L});
+ public static final BitSet FOLLOW_17_in_ruleMessageEntry887 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_26_in_ruleMessageEntry907 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_ruleMessageEntry930 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_ruleMessageEntry942 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMessageParam_in_entryRuleMessageParam980 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleMessageParam990 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePredefinedTypes_in_ruleMessageParam1036 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleMessageParam1053 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMessage_in_entryRuleMessage1094 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleMessage1104 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleMessage1146 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleMessage1163 = new BitSet(new long[]{0x0000000000000060L});
+ public static final BitSet FOLLOW_ruleRichString_in_ruleMessage1184 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichString_in_entryRuleRichString1220 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRichString1230 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichStringLiteral_in_ruleRichString1276 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichStringLiteralStart_in_ruleRichString1304 = new BitSet(new long[]{0x0000000000000190L});
+ public static final BitSet FOLLOW_ruleRichVarPart_in_ruleRichString1325 = new BitSet(new long[]{0x0000000000000190L});
+ public static final BitSet FOLLOW_ruleRichStringLiteralInbetween_in_ruleRichString1348 = new BitSet(new long[]{0x0000000000000190L});
+ public static final BitSet FOLLOW_ruleRichVarPart_in_ruleRichString1369 = new BitSet(new long[]{0x0000000000000190L});
+ public static final BitSet FOLLOW_ruleRichStringLiteralEnd_in_ruleRichString1393 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichStringLiteral_in_entryRuleRichStringLiteral1430 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRichStringLiteral1440 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_RICH_TEXT_in_ruleRichStringLiteral1481 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichStringLiteralStart_in_entryRuleRichStringLiteralStart1521 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRichStringLiteralStart1531 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_RICH_TEXT_START_in_ruleRichStringLiteralStart1572 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichStringLiteralEnd_in_entryRuleRichStringLiteralEnd1612 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRichStringLiteralEnd1622 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_RICH_TEXT_END_in_ruleRichStringLiteralEnd1663 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichStringLiteralInbetween_in_entryRuleRichStringLiteralInbetween1703 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRichStringLiteralInbetween1713 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_RICH_TEXT_INBETWEEN_in_ruleRichStringLiteralInbetween1754 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRichVarPart_in_entryRuleRichVarPart1794 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRichVarPart1804 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleRichVarPart1846 = new BitSet(new long[]{0x0000000000000202L});
+ public static final BitSet FOLLOW_RULE_STRING_in_ruleRichVarPart1869 = new BitSet(new long[]{0x0000000000000012L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_ruleRichVarPart1897 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleValidID_in_entryRuleValidID1937 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleValidID1948 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleValidID1987 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName2032 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName2043 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleValidID_in_ruleQualifiedName2090 = new BitSet(new long[]{0x0000000010000002L});
+ public static final BitSet FOLLOW_28_in_ruleQualifiedName2118 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleValidID_in_ruleQualifiedName2141 = new BitSet(new long[]{0x0000000010000002L});
+ public static final BitSet FOLLOW_29_in_rulePredefinedTypes2202 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_30_in_rulePredefinedTypes2219 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_31_in_rulePredefinedTypes2236 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_28_in_synpred1_InternalNLSDsl2109 = new BitSet(new long[]{0x0000000000000002L});
+
+} \ No newline at end of file
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/serializer/NLSDslSemanticSequencer.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/serializer/NLSDslSemanticSequencer.java
new file mode 100644
index 000000000..293aa16db
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/serializer/NLSDslSemanticSequencer.java
@@ -0,0 +1,314 @@
+package org.eclipse.fx.ide.l10n.serializer;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.fx.ide.l10n.nLSDsl.Message;
+import org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry;
+import org.eclipse.fx.ide.l10n.nLSDsl.MessageParam;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLS;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage;
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSFormatter;
+import org.eclipse.fx.ide.l10n.nLSDsl.PackageDeclaration;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichString;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteral;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralEnd;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralInbetween;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralStart;
+import org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart;
+import org.eclipse.fx.ide.l10n.services.NLSDslGrammarAccess;
+import org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor;
+import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
+import org.eclipse.xtext.serializer.diagnostic.ISemanticSequencerDiagnosticProvider;
+import org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic.Acceptor;
+import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
+import org.eclipse.xtext.serializer.sequencer.GenericSequencer;
+import org.eclipse.xtext.serializer.sequencer.ISemanticNodeProvider.INodesForEObjectProvider;
+import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
+import org.eclipse.xtext.serializer.sequencer.ITransientValueService;
+import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
+
+@SuppressWarnings("all")
+public class NLSDslSemanticSequencer extends AbstractDelegatingSemanticSequencer {
+
+ @Inject
+ private NLSDslGrammarAccess grammarAccess;
+
+ public void createSequence(EObject context, EObject semanticObject) {
+ if(semanticObject.eClass().getEPackage() == NLSDslPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+ case NLSDslPackage.MESSAGE:
+ if(context == grammarAccess.getMessageRule()) {
+ sequence_Message(context, (Message) semanticObject);
+ return;
+ }
+ else break;
+ case NLSDslPackage.MESSAGE_ENTRY:
+ if(context == grammarAccess.getMessageEntryRule()) {
+ sequence_MessageEntry(context, (MessageEntry) semanticObject);
+ return;
+ }
+ else break;
+ case NLSDslPackage.MESSAGE_PARAM:
+ if(context == grammarAccess.getMessageParamRule()) {
+ sequence_MessageParam(context, (MessageParam) semanticObject);
+ return;
+ }
+ else break;
+ case NLSDslPackage.NLS:
+ if(context == grammarAccess.getNLSRule()) {
+ sequence_NLS(context, (NLS) semanticObject);
+ return;
+ }
+ else break;
+ case NLSDslPackage.NLS_BUNDLE:
+ if(context == grammarAccess.getNLSBundleRule()) {
+ sequence_NLSBundle(context, (NLSBundle) semanticObject);
+ return;
+ }
+ else break;
+ case NLSDslPackage.NLS_FORMATTER:
+ if(context == grammarAccess.getNLSFormatterRule()) {
+ sequence_NLSFormatter(context, (NLSFormatter) semanticObject);
+ return;
+ }
+ else break;
+ case NLSDslPackage.PACKAGE_DECLARATION:
+ if(context == grammarAccess.getPackageDeclarationRule()) {
+ sequence_PackageDeclaration(context, (PackageDeclaration) semanticObject);
+ return;
+ }
+ else break;
+ case NLSDslPackage.RICH_STRING:
+ if(context == grammarAccess.getRichStringRule()) {
+ sequence_RichString(context, (RichString) semanticObject);
+ return;
+ }
+ else break;
+ case NLSDslPackage.RICH_STRING_LITERAL:
+ if(context == grammarAccess.getRichStringLiteralRule()) {
+ sequence_RichStringLiteral(context, (RichStringLiteral) semanticObject);
+ return;
+ }
+ else break;
+ case NLSDslPackage.RICH_STRING_LITERAL_END:
+ if(context == grammarAccess.getRichStringLiteralEndRule()) {
+ sequence_RichStringLiteralEnd(context, (RichStringLiteralEnd) semanticObject);
+ return;
+ }
+ else break;
+ case NLSDslPackage.RICH_STRING_LITERAL_INBETWEEN:
+ if(context == grammarAccess.getRichStringLiteralInbetweenRule()) {
+ sequence_RichStringLiteralInbetween(context, (RichStringLiteralInbetween) semanticObject);
+ return;
+ }
+ else break;
+ case NLSDslPackage.RICH_STRING_LITERAL_START:
+ if(context == grammarAccess.getRichStringLiteralStartRule()) {
+ sequence_RichStringLiteralStart(context, (RichStringLiteralStart) semanticObject);
+ return;
+ }
+ else break;
+ case NLSDslPackage.RICH_VAR_PART:
+ if(context == grammarAccess.getRichVarPartRule()) {
+ sequence_RichVarPart(context, (RichVarPart) semanticObject);
+ return;
+ }
+ else break;
+ }
+ if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
+ }
+
+ /**
+ * Constraint:
+ * (
+ * name=ID
+ * (paramList+=MessageParam paramList+=MessageParam*)?
+ * ((messageList+=Message messageList+=Message*) | entryRef=[MessageEntry|QualifiedName])
+ * )
+ */
+ protected void sequence_MessageEntry(EObject context, MessageEntry semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (predefined=PredefinedTypes var=ID)
+ */
+ protected void sequence_MessageParam(EObject context, MessageParam semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, NLSDslPackage.Literals.MESSAGE_PARAM__PREDEFINED) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, NLSDslPackage.Literals.MESSAGE_PARAM__PREDEFINED));
+ if(transientValues.isValueTransient(semanticObject, NLSDslPackage.Literals.MESSAGE_PARAM__VAR) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, NLSDslPackage.Literals.MESSAGE_PARAM__VAR));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getMessageParamAccess().getPredefinedPredefinedTypesEnumRuleCall_0_0(), semanticObject.getPredefined());
+ feeder.accept(grammarAccess.getMessageParamAccess().getVarIDTerminalRuleCall_1_0(), semanticObject.getVar());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * (name=ID message=RichString)
+ */
+ protected void sequence_Message(EObject context, Message semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, NLSDslPackage.Literals.MESSAGE__NAME) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, NLSDslPackage.Literals.MESSAGE__NAME));
+ if(transientValues.isValueTransient(semanticObject, NLSDslPackage.Literals.MESSAGE__MESSAGE) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, NLSDslPackage.Literals.MESSAGE__MESSAGE));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getMessageAccess().getNameIDTerminalRuleCall_0_0(), semanticObject.getName());
+ feeder.accept(grammarAccess.getMessageAccess().getMessageRichStringParserRuleCall_2_0(), semanticObject.getMessage());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * (name=ID lang=ID formatterList+=NLSFormatter* messageEntryList+=MessageEntry+)
+ */
+ protected void sequence_NLSBundle(EObject context, NLSBundle semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (name=ID classRef=QualifiedName)
+ */
+ protected void sequence_NLSFormatter(EObject context, NLSFormatter semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, NLSDslPackage.Literals.NLS_FORMATTER__NAME) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, NLSDslPackage.Literals.NLS_FORMATTER__NAME));
+ if(transientValues.isValueTransient(semanticObject, NLSDslPackage.Literals.NLS_FORMATTER__CLASS_REF) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, NLSDslPackage.Literals.NLS_FORMATTER__CLASS_REF));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getNLSFormatterAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName());
+ feeder.accept(grammarAccess.getNLSFormatterAccess().getClassRefQualifiedNameParserRuleCall_2_0(), semanticObject.getClassRef());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * (package=PackageDeclaration? bundleList+=NLSBundle+)
+ */
+ protected void sequence_NLS(EObject context, NLS semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * name=QualifiedName
+ */
+ protected void sequence_PackageDeclaration(EObject context, PackageDeclaration semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, NLSDslPackage.Literals.PACKAGE_DECLARATION__NAME) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, NLSDslPackage.Literals.PACKAGE_DECLARATION__NAME));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getPackageDeclarationAccess().getNameQualifiedNameParserRuleCall_1_0(), semanticObject.getName());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * value=RICH_TEXT_END
+ */
+ protected void sequence_RichStringLiteralEnd(EObject context, RichStringLiteralEnd semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, NLSDslPackage.Literals.RICH_STRING_LITERAL_END__VALUE) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, NLSDslPackage.Literals.RICH_STRING_LITERAL_END__VALUE));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getRichStringLiteralEndAccess().getValueRICH_TEXT_ENDTerminalRuleCall_0(), semanticObject.getValue());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * value=RICH_TEXT_INBETWEEN
+ */
+ protected void sequence_RichStringLiteralInbetween(EObject context, RichStringLiteralInbetween semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, NLSDslPackage.Literals.RICH_STRING_LITERAL_INBETWEEN__VALUE) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, NLSDslPackage.Literals.RICH_STRING_LITERAL_INBETWEEN__VALUE));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getRichStringLiteralInbetweenAccess().getValueRICH_TEXT_INBETWEENTerminalRuleCall_0(), semanticObject.getValue());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * value=RICH_TEXT_START
+ */
+ protected void sequence_RichStringLiteralStart(EObject context, RichStringLiteralStart semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, NLSDslPackage.Literals.RICH_STRING_LITERAL_START__VALUE) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, NLSDslPackage.Literals.RICH_STRING_LITERAL_START__VALUE));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getRichStringLiteralStartAccess().getValueRICH_TEXT_STARTTerminalRuleCall_0(), semanticObject.getValue());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * value=RICH_TEXT
+ */
+ protected void sequence_RichStringLiteral(EObject context, RichStringLiteral semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, NLSDslPackage.Literals.RICH_STRING_LITERAL__VALUE) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, NLSDslPackage.Literals.RICH_STRING_LITERAL__VALUE));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getRichStringLiteralAccess().getValueRICH_TEXTTerminalRuleCall_0(), semanticObject.getValue());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * (
+ * expressions+=RichStringLiteral |
+ * (
+ * expressions+=RichStringLiteralStart
+ * expressions+=RichVarPart?
+ * (expressions+=RichStringLiteralInbetween expressions+=RichVarPart?)*
+ * expressions+=RichStringLiteralEnd
+ * )
+ * )
+ */
+ protected void sequence_RichString(EObject context, RichString semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (key=ID (format=STRING formatterClass=[NLSFormatter|QualifiedName]?)?)
+ */
+ protected void sequence_RichVarPart(EObject context, RichVarPart semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/serializer/NLSDslSyntacticSequencer.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/serializer/NLSDslSyntacticSequencer.java
new file mode 100644
index 000000000..fc8eecc9d
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/serializer/NLSDslSyntacticSequencer.java
@@ -0,0 +1,40 @@
+package org.eclipse.fx.ide.l10n.serializer;
+
+import com.google.inject.Inject;
+import java.util.List;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.fx.ide.l10n.services.NLSDslGrammarAccess;
+import org.eclipse.xtext.IGrammarAccess;
+import org.eclipse.xtext.RuleCall;
+import org.eclipse.xtext.nodemodel.INode;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
+import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
+import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
+
+@SuppressWarnings("all")
+public class NLSDslSyntacticSequencer extends AbstractSyntacticSequencer {
+
+ protected NLSDslGrammarAccess grammarAccess;
+
+ @Inject
+ protected void init(IGrammarAccess access) {
+ grammarAccess = (NLSDslGrammarAccess) access;
+ }
+
+ @Override
+ protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
+ return "";
+ }
+
+
+ @Override
+ protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
+ if (transition.getAmbiguousSyntaxes().isEmpty()) return;
+ List<INode> transitionNodes = collectNodes(fromNode, toNode);
+ for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
+ List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
+ acceptNodes(getLastNavigableState(), syntaxNodes);
+ }
+ }
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/services/NLSDslGrammarAccess.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/services/NLSDslGrammarAccess.java
new file mode 100644
index 000000000..a7fe7407d
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/services/NLSDslGrammarAccess.java
@@ -0,0 +1,930 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.fx.ide.l10n.services;
+
+import com.google.inject.Singleton;
+import com.google.inject.Inject;
+
+import java.util.List;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.service.GrammarProvider;
+import org.eclipse.xtext.service.AbstractElementFinder.*;
+
+import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
+
+@Singleton
+public class NLSDslGrammarAccess extends AbstractGrammarElementFinder {
+
+
+ public class NLSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NLS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cPackageAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cPackagePackageDeclarationParserRuleCall_0_0 = (RuleCall)cPackageAssignment_0.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cBundleListAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cBundleListNLSBundleParserRuleCall_2_0 = (RuleCall)cBundleListAssignment_2.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+
+ //NLS:
+ // package=PackageDeclaration? "{" bundleList+=NLSBundle+ "}";
+ public ParserRule getRule() { return rule; }
+
+ //package=PackageDeclaration? "{" bundleList+=NLSBundle+ "}"
+ public Group getGroup() { return cGroup; }
+
+ //package=PackageDeclaration?
+ public Assignment getPackageAssignment_0() { return cPackageAssignment_0; }
+
+ //PackageDeclaration
+ public RuleCall getPackagePackageDeclarationParserRuleCall_0_0() { return cPackagePackageDeclarationParserRuleCall_0_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
+
+ //bundleList+=NLSBundle+
+ public Assignment getBundleListAssignment_2() { return cBundleListAssignment_2; }
+
+ //NLSBundle
+ public RuleCall getBundleListNLSBundleParserRuleCall_2_0() { return cBundleListNLSBundleParserRuleCall_2_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; }
+ }
+
+ public class PackageDeclarationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PackageDeclaration");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cPackageKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+
+ //PackageDeclaration:
+ // "package" name=QualifiedName;
+ public ParserRule getRule() { return rule; }
+
+ //"package" name=QualifiedName
+ public Group getGroup() { return cGroup; }
+
+ //"package"
+ public Keyword getPackageKeyword_0() { return cPackageKeyword_0; }
+
+ //name=QualifiedName
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //QualifiedName
+ public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
+ }
+
+ public class NLSBundleElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NLSBundle");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cBundleKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cDefaultKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cLangAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cLangIDTerminalRuleCall_3_0 = (RuleCall)cLangAssignment_3.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+ private final Assignment cFormatterListAssignment_5 = (Assignment)cGroup.eContents().get(5);
+ private final RuleCall cFormatterListNLSFormatterParserRuleCall_5_0 = (RuleCall)cFormatterListAssignment_5.eContents().get(0);
+ private final Assignment cMessageEntryListAssignment_6 = (Assignment)cGroup.eContents().get(6);
+ private final RuleCall cMessageEntryListMessageEntryParserRuleCall_6_0 = (RuleCall)cMessageEntryListAssignment_6.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
+
+ //NLSBundle:
+ // "bundle" name=ID "default" lang=ID "{" formatterList+=NLSFormatter* messageEntryList+=MessageEntry+ "}";
+ public ParserRule getRule() { return rule; }
+
+ //"bundle" name=ID "default" lang=ID "{" formatterList+=NLSFormatter* messageEntryList+=MessageEntry+ "}"
+ public Group getGroup() { return cGroup; }
+
+ //"bundle"
+ public Keyword getBundleKeyword_0() { return cBundleKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //"default"
+ public Keyword getDefaultKeyword_2() { return cDefaultKeyword_2; }
+
+ //lang=ID
+ public Assignment getLangAssignment_3() { return cLangAssignment_3; }
+
+ //ID
+ public RuleCall getLangIDTerminalRuleCall_3_0() { return cLangIDTerminalRuleCall_3_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
+
+ //formatterList+=NLSFormatter*
+ public Assignment getFormatterListAssignment_5() { return cFormatterListAssignment_5; }
+
+ //NLSFormatter
+ public RuleCall getFormatterListNLSFormatterParserRuleCall_5_0() { return cFormatterListNLSFormatterParserRuleCall_5_0; }
+
+ //messageEntryList+=MessageEntry+
+ public Assignment getMessageEntryListAssignment_6() { return cMessageEntryListAssignment_6; }
+
+ //MessageEntry
+ public RuleCall getMessageEntryListMessageEntryParserRuleCall_6_0() { return cMessageEntryListMessageEntryParserRuleCall_6_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
+ }
+
+ public class NLSFormatterElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NLSFormatter");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cFormatterKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Assignment cClassRefAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cClassRefQualifiedNameParserRuleCall_2_0 = (RuleCall)cClassRefAssignment_2.eContents().get(0);
+
+ //NLSFormatter:
+ // "formatter" name=ID classRef=QualifiedName;
+ public ParserRule getRule() { return rule; }
+
+ //"formatter" name=ID classRef=QualifiedName
+ public Group getGroup() { return cGroup; }
+
+ //"formatter"
+ public Keyword getFormatterKeyword_0() { return cFormatterKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //classRef=QualifiedName
+ public Assignment getClassRefAssignment_2() { return cClassRefAssignment_2; }
+
+ //QualifiedName
+ public RuleCall getClassRefQualifiedNameParserRuleCall_2_0() { return cClassRefQualifiedNameParserRuleCall_2_0; }
+ }
+
+ public class MessageEntryElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MessageEntry");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cLeftParenthesisKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cParamListAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cParamListMessageParamParserRuleCall_1_1_0 = (RuleCall)cParamListAssignment_1_1.eContents().get(0);
+ private final Group cGroup_1_2 = (Group)cGroup_1.eContents().get(2);
+ private final Keyword cCommaKeyword_1_2_0 = (Keyword)cGroup_1_2.eContents().get(0);
+ private final Assignment cParamListAssignment_1_2_1 = (Assignment)cGroup_1_2.eContents().get(1);
+ private final RuleCall cParamListMessageParamParserRuleCall_1_2_1_0 = (RuleCall)cParamListAssignment_1_2_1.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_1_3 = (Keyword)cGroup_1.eContents().get(3);
+ private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Alternatives cAlternatives_3 = (Alternatives)cGroup.eContents().get(3);
+ private final Group cGroup_3_0 = (Group)cAlternatives_3.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_3_0_0 = (Keyword)cGroup_3_0.eContents().get(0);
+ private final Assignment cMessageListAssignment_3_0_1 = (Assignment)cGroup_3_0.eContents().get(1);
+ private final RuleCall cMessageListMessageParserRuleCall_3_0_1_0 = (RuleCall)cMessageListAssignment_3_0_1.eContents().get(0);
+ private final Group cGroup_3_0_2 = (Group)cGroup_3_0.eContents().get(2);
+ private final Keyword cCommaKeyword_3_0_2_0 = (Keyword)cGroup_3_0_2.eContents().get(0);
+ private final Assignment cMessageListAssignment_3_0_2_1 = (Assignment)cGroup_3_0_2.eContents().get(1);
+ private final RuleCall cMessageListMessageParserRuleCall_3_0_2_1_0 = (RuleCall)cMessageListAssignment_3_0_2_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_3_0_3 = (Keyword)cGroup_3_0.eContents().get(3);
+ private final Group cGroup_3_1 = (Group)cAlternatives_3.eContents().get(1);
+ private final Keyword cLeftSquareBracketKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0);
+ private final Assignment cEntryRefAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1);
+ private final CrossReference cEntryRefMessageEntryCrossReference_3_1_1_0 = (CrossReference)cEntryRefAssignment_3_1_1.eContents().get(0);
+ private final RuleCall cEntryRefMessageEntryQualifiedNameParserRuleCall_3_1_1_0_1 = (RuleCall)cEntryRefMessageEntryCrossReference_3_1_1_0.eContents().get(1);
+ private final Keyword cRightSquareBracketKeyword_3_1_2 = (Keyword)cGroup_3_1.eContents().get(2);
+
+ //MessageEntry:
+ // name=ID ("(" paramList+=MessageParam ("," paramList+=MessageParam)* ")")? ":" ("{" messageList+=Message (","
+ // messageList+=Message)* "}" | "[" entryRef=[MessageEntry|QualifiedName] "]");
+ public ParserRule getRule() { return rule; }
+
+ //name=ID ("(" paramList+=MessageParam ("," paramList+=MessageParam)* ")")? ":" ("{" messageList+=Message (","
+ //messageList+=Message)* "}" | "[" entryRef=[MessageEntry|QualifiedName] "]")
+ public Group getGroup() { return cGroup; }
+
+ //name=ID
+ public Assignment getNameAssignment_0() { return cNameAssignment_0; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }
+
+ //("(" paramList+=MessageParam ("," paramList+=MessageParam)* ")")?
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_1_0() { return cLeftParenthesisKeyword_1_0; }
+
+ //paramList+=MessageParam
+ public Assignment getParamListAssignment_1_1() { return cParamListAssignment_1_1; }
+
+ //MessageParam
+ public RuleCall getParamListMessageParamParserRuleCall_1_1_0() { return cParamListMessageParamParserRuleCall_1_1_0; }
+
+ //("," paramList+=MessageParam)*
+ public Group getGroup_1_2() { return cGroup_1_2; }
+
+ //","
+ public Keyword getCommaKeyword_1_2_0() { return cCommaKeyword_1_2_0; }
+
+ //paramList+=MessageParam
+ public Assignment getParamListAssignment_1_2_1() { return cParamListAssignment_1_2_1; }
+
+ //MessageParam
+ public RuleCall getParamListMessageParamParserRuleCall_1_2_1_0() { return cParamListMessageParamParserRuleCall_1_2_1_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_1_3() { return cRightParenthesisKeyword_1_3; }
+
+ //":"
+ public Keyword getColonKeyword_2() { return cColonKeyword_2; }
+
+ //"{" messageList+=Message ("," messageList+=Message)* "}" | "[" entryRef=[MessageEntry|QualifiedName] "]"
+ public Alternatives getAlternatives_3() { return cAlternatives_3; }
+
+ //"{" messageList+=Message ("," messageList+=Message)* "}"
+ public Group getGroup_3_0() { return cGroup_3_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_3_0_0() { return cLeftCurlyBracketKeyword_3_0_0; }
+
+ //messageList+=Message
+ public Assignment getMessageListAssignment_3_0_1() { return cMessageListAssignment_3_0_1; }
+
+ //Message
+ public RuleCall getMessageListMessageParserRuleCall_3_0_1_0() { return cMessageListMessageParserRuleCall_3_0_1_0; }
+
+ //("," messageList+=Message)*
+ public Group getGroup_3_0_2() { return cGroup_3_0_2; }
+
+ //","
+ public Keyword getCommaKeyword_3_0_2_0() { return cCommaKeyword_3_0_2_0; }
+
+ //messageList+=Message
+ public Assignment getMessageListAssignment_3_0_2_1() { return cMessageListAssignment_3_0_2_1; }
+
+ //Message
+ public RuleCall getMessageListMessageParserRuleCall_3_0_2_1_0() { return cMessageListMessageParserRuleCall_3_0_2_1_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_3_0_3() { return cRightCurlyBracketKeyword_3_0_3; }
+
+ //"[" entryRef=[MessageEntry|QualifiedName] "]"
+ public Group getGroup_3_1() { return cGroup_3_1; }
+
+ //"["
+ public Keyword getLeftSquareBracketKeyword_3_1_0() { return cLeftSquareBracketKeyword_3_1_0; }
+
+ //entryRef=[MessageEntry|QualifiedName]
+ public Assignment getEntryRefAssignment_3_1_1() { return cEntryRefAssignment_3_1_1; }
+
+ //[MessageEntry|QualifiedName]
+ public CrossReference getEntryRefMessageEntryCrossReference_3_1_1_0() { return cEntryRefMessageEntryCrossReference_3_1_1_0; }
+
+ //QualifiedName
+ public RuleCall getEntryRefMessageEntryQualifiedNameParserRuleCall_3_1_1_0_1() { return cEntryRefMessageEntryQualifiedNameParserRuleCall_3_1_1_0_1; }
+
+ //"]"
+ public Keyword getRightSquareBracketKeyword_3_1_2() { return cRightSquareBracketKeyword_3_1_2; }
+ }
+
+ public class MessageParamElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MessageParam");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cPredefinedAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cPredefinedPredefinedTypesEnumRuleCall_0_0 = (RuleCall)cPredefinedAssignment_0.eContents().get(0);
+ private final Assignment cVarAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cVarIDTerminalRuleCall_1_0 = (RuleCall)cVarAssignment_1.eContents().get(0);
+
+ //MessageParam:
+ // predefined=PredefinedTypes var=ID;
+ public ParserRule getRule() { return rule; }
+
+ //predefined=PredefinedTypes var=ID
+ public Group getGroup() { return cGroup; }
+
+ //predefined=PredefinedTypes
+ public Assignment getPredefinedAssignment_0() { return cPredefinedAssignment_0; }
+
+ //PredefinedTypes
+ public RuleCall getPredefinedPredefinedTypesEnumRuleCall_0_0() { return cPredefinedPredefinedTypesEnumRuleCall_0_0; }
+
+ //var=ID
+ public Assignment getVarAssignment_1() { return cVarAssignment_1; }
+
+ //ID
+ public RuleCall getVarIDTerminalRuleCall_1_0() { return cVarIDTerminalRuleCall_1_0; }
+ }
+
+ public class MessageElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Message");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
+ private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cMessageAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cMessageRichStringParserRuleCall_2_0 = (RuleCall)cMessageAssignment_2.eContents().get(0);
+
+ //Message:
+ // name=ID ":" message=RichString / *| '[' messageRef=[Message|QualifiedName] ']'* /;
+ public ParserRule getRule() { return rule; }
+
+ //name=ID ":" message=RichString / *| '[' messageRef=[Message|QualifiedName] ']'* /
+ public Group getGroup() { return cGroup; }
+
+ //name=ID
+ public Assignment getNameAssignment_0() { return cNameAssignment_0; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }
+
+ //":"
+ public Keyword getColonKeyword_1() { return cColonKeyword_1; }
+
+ //message=RichString
+ public Assignment getMessageAssignment_2() { return cMessageAssignment_2; }
+
+ //RichString
+ public RuleCall getMessageRichStringParserRuleCall_2_0() { return cMessageRichStringParserRuleCall_2_0; }
+ }
+
+ public class RichStringElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RichString");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Assignment cExpressionsAssignment_0 = (Assignment)cAlternatives.eContents().get(0);
+ private final RuleCall cExpressionsRichStringLiteralParserRuleCall_0_0 = (RuleCall)cExpressionsAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
+ private final Assignment cExpressionsAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
+ private final RuleCall cExpressionsRichStringLiteralStartParserRuleCall_1_0_0 = (RuleCall)cExpressionsAssignment_1_0.eContents().get(0);
+ private final Assignment cExpressionsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cExpressionsRichVarPartParserRuleCall_1_1_0 = (RuleCall)cExpressionsAssignment_1_1.eContents().get(0);
+ private final Group cGroup_1_2 = (Group)cGroup_1.eContents().get(2);
+ private final Assignment cExpressionsAssignment_1_2_0 = (Assignment)cGroup_1_2.eContents().get(0);
+ private final RuleCall cExpressionsRichStringLiteralInbetweenParserRuleCall_1_2_0_0 = (RuleCall)cExpressionsAssignment_1_2_0.eContents().get(0);
+ private final Assignment cExpressionsAssignment_1_2_1 = (Assignment)cGroup_1_2.eContents().get(1);
+ private final RuleCall cExpressionsRichVarPartParserRuleCall_1_2_1_0 = (RuleCall)cExpressionsAssignment_1_2_1.eContents().get(0);
+ private final Assignment cExpressionsAssignment_1_3 = (Assignment)cGroup_1.eContents().get(3);
+ private final RuleCall cExpressionsRichStringLiteralEndParserRuleCall_1_3_0 = (RuleCall)cExpressionsAssignment_1_3.eContents().get(0);
+
+ //RichString:
+ // expressions+=RichStringLiteral | expressions+=RichStringLiteralStart expressions+=RichVarPart?
+ // (expressions+=RichStringLiteralInbetween expressions+=RichVarPart?)* expressions+=RichStringLiteralEnd;
+ public ParserRule getRule() { return rule; }
+
+ //expressions+=RichStringLiteral | expressions+=RichStringLiteralStart expressions+=RichVarPart?
+ //(expressions+=RichStringLiteralInbetween expressions+=RichVarPart?)* expressions+=RichStringLiteralEnd
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //expressions+=RichStringLiteral
+ public Assignment getExpressionsAssignment_0() { return cExpressionsAssignment_0; }
+
+ //RichStringLiteral
+ public RuleCall getExpressionsRichStringLiteralParserRuleCall_0_0() { return cExpressionsRichStringLiteralParserRuleCall_0_0; }
+
+ //expressions+=RichStringLiteralStart expressions+=RichVarPart? (expressions+=RichStringLiteralInbetween
+ //expressions+=RichVarPart?)* expressions+=RichStringLiteralEnd
+ public Group getGroup_1() { return cGroup_1; }
+
+ //expressions+=RichStringLiteralStart
+ public Assignment getExpressionsAssignment_1_0() { return cExpressionsAssignment_1_0; }
+
+ //RichStringLiteralStart
+ public RuleCall getExpressionsRichStringLiteralStartParserRuleCall_1_0_0() { return cExpressionsRichStringLiteralStartParserRuleCall_1_0_0; }
+
+ //expressions+=RichVarPart?
+ public Assignment getExpressionsAssignment_1_1() { return cExpressionsAssignment_1_1; }
+
+ //RichVarPart
+ public RuleCall getExpressionsRichVarPartParserRuleCall_1_1_0() { return cExpressionsRichVarPartParserRuleCall_1_1_0; }
+
+ //(expressions+=RichStringLiteralInbetween expressions+=RichVarPart?)*
+ public Group getGroup_1_2() { return cGroup_1_2; }
+
+ //expressions+=RichStringLiteralInbetween
+ public Assignment getExpressionsAssignment_1_2_0() { return cExpressionsAssignment_1_2_0; }
+
+ //RichStringLiteralInbetween
+ public RuleCall getExpressionsRichStringLiteralInbetweenParserRuleCall_1_2_0_0() { return cExpressionsRichStringLiteralInbetweenParserRuleCall_1_2_0_0; }
+
+ //expressions+=RichVarPart?
+ public Assignment getExpressionsAssignment_1_2_1() { return cExpressionsAssignment_1_2_1; }
+
+ //RichVarPart
+ public RuleCall getExpressionsRichVarPartParserRuleCall_1_2_1_0() { return cExpressionsRichVarPartParserRuleCall_1_2_1_0; }
+
+ //expressions+=RichStringLiteralEnd
+ public Assignment getExpressionsAssignment_1_3() { return cExpressionsAssignment_1_3; }
+
+ //RichStringLiteralEnd
+ public RuleCall getExpressionsRichStringLiteralEndParserRuleCall_1_3_0() { return cExpressionsRichStringLiteralEndParserRuleCall_1_3_0; }
+ }
+
+ public class RichStringLiteralElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RichStringLiteral");
+ private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cValueRICH_TEXTTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
+
+ //RichStringLiteral:
+ // value=RICH_TEXT;
+ public ParserRule getRule() { return rule; }
+
+ //value=RICH_TEXT
+ public Assignment getValueAssignment() { return cValueAssignment; }
+
+ //RICH_TEXT
+ public RuleCall getValueRICH_TEXTTerminalRuleCall_0() { return cValueRICH_TEXTTerminalRuleCall_0; }
+ }
+
+ public class RichStringLiteralStartElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RichStringLiteralStart");
+ private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cValueRICH_TEXT_STARTTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
+
+ //RichStringLiteralStart:
+ // value=RICH_TEXT_START;
+ public ParserRule getRule() { return rule; }
+
+ //value=RICH_TEXT_START
+ public Assignment getValueAssignment() { return cValueAssignment; }
+
+ //RICH_TEXT_START
+ public RuleCall getValueRICH_TEXT_STARTTerminalRuleCall_0() { return cValueRICH_TEXT_STARTTerminalRuleCall_0; }
+ }
+
+ public class RichStringLiteralEndElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RichStringLiteralEnd");
+ private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cValueRICH_TEXT_ENDTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
+
+ //RichStringLiteralEnd:
+ // value=RICH_TEXT_END;
+ public ParserRule getRule() { return rule; }
+
+ //value=RICH_TEXT_END
+ public Assignment getValueAssignment() { return cValueAssignment; }
+
+ //RICH_TEXT_END
+ public RuleCall getValueRICH_TEXT_ENDTerminalRuleCall_0() { return cValueRICH_TEXT_ENDTerminalRuleCall_0; }
+ }
+
+ public class RichStringLiteralInbetweenElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RichStringLiteralInbetween");
+ private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cValueRICH_TEXT_INBETWEENTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
+
+ //RichStringLiteralInbetween:
+ // value=RICH_TEXT_INBETWEEN;
+ public ParserRule getRule() { return rule; }
+
+ //value=RICH_TEXT_INBETWEEN
+ public Assignment getValueAssignment() { return cValueAssignment; }
+
+ //RICH_TEXT_INBETWEEN
+ public RuleCall getValueRICH_TEXT_INBETWEENTerminalRuleCall_0() { return cValueRICH_TEXT_INBETWEENTerminalRuleCall_0; }
+ }
+
+ public class RichVarPartElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RichVarPart");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cKeyAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cKeyIDTerminalRuleCall_0_0 = (RuleCall)cKeyAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Assignment cFormatAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
+ private final RuleCall cFormatSTRINGTerminalRuleCall_1_0_0 = (RuleCall)cFormatAssignment_1_0.eContents().get(0);
+ private final Assignment cFormatterClassAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final CrossReference cFormatterClassNLSFormatterCrossReference_1_1_0 = (CrossReference)cFormatterClassAssignment_1_1.eContents().get(0);
+ private final RuleCall cFormatterClassNLSFormatterQualifiedNameParserRuleCall_1_1_0_1 = (RuleCall)cFormatterClassNLSFormatterCrossReference_1_1_0.eContents().get(1);
+
+ //RichVarPart:
+ // key=ID (format=STRING formatterClass=[NLSFormatter|QualifiedName]?)?;
+ public ParserRule getRule() { return rule; }
+
+ //key=ID (format=STRING formatterClass=[NLSFormatter|QualifiedName]?)?
+ public Group getGroup() { return cGroup; }
+
+ //key=ID
+ public Assignment getKeyAssignment_0() { return cKeyAssignment_0; }
+
+ //ID
+ public RuleCall getKeyIDTerminalRuleCall_0_0() { return cKeyIDTerminalRuleCall_0_0; }
+
+ //(format=STRING formatterClass=[NLSFormatter|QualifiedName]?)?
+ public Group getGroup_1() { return cGroup_1; }
+
+ //format=STRING
+ public Assignment getFormatAssignment_1_0() { return cFormatAssignment_1_0; }
+
+ //STRING
+ public RuleCall getFormatSTRINGTerminalRuleCall_1_0_0() { return cFormatSTRINGTerminalRuleCall_1_0_0; }
+
+ //formatterClass=[NLSFormatter|QualifiedName]?
+ public Assignment getFormatterClassAssignment_1_1() { return cFormatterClassAssignment_1_1; }
+
+ //[NLSFormatter|QualifiedName]
+ public CrossReference getFormatterClassNLSFormatterCrossReference_1_1_0() { return cFormatterClassNLSFormatterCrossReference_1_1_0; }
+
+ //QualifiedName
+ public RuleCall getFormatterClassNLSFormatterQualifiedNameParserRuleCall_1_1_0_1() { return cFormatterClassNLSFormatterQualifiedNameParserRuleCall_1_1_0_1; }
+ }
+
+ public class ValidIDElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ValidID");
+ private final RuleCall cIDTerminalRuleCall = (RuleCall)rule.eContents().get(1);
+
+ //ValidID:
+ // ID;
+ public ParserRule getRule() { return rule; }
+
+ //ID
+ public RuleCall getIDTerminalRuleCall() { return cIDTerminalRuleCall; }
+ }
+
+ public class QualifiedNameElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "QualifiedName");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final RuleCall cValidIDParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final RuleCall cValidIDParserRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
+
+ //QualifiedName:
+ // ValidID ("." ValidID)*;
+ public ParserRule getRule() { return rule; }
+
+ //ValidID ("." ValidID)*
+ public Group getGroup() { return cGroup; }
+
+ //ValidID
+ public RuleCall getValidIDParserRuleCall_0() { return cValidIDParserRuleCall_0; }
+
+ //(=> "." ValidID)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //=> "."
+ public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
+
+ //ValidID
+ public RuleCall getValidIDParserRuleCall_1_1() { return cValidIDParserRuleCall_1_1; }
+ }
+
+
+ public class PredefinedTypesElements extends AbstractEnumRuleElementFinder {
+ private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "PredefinedTypes");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final EnumLiteralDeclaration cANYEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+ private final Keyword cANYANYKeyword_0_0 = (Keyword)cANYEnumLiteralDeclaration_0.eContents().get(0);
+ private final EnumLiteralDeclaration cNUMBEREnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+ private final Keyword cNUMBERNUMBERKeyword_1_0 = (Keyword)cNUMBEREnumLiteralDeclaration_1.eContents().get(0);
+ private final EnumLiteralDeclaration cDATEEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
+ private final Keyword cDATEDATEKeyword_2_0 = (Keyword)cDATEEnumLiteralDeclaration_2.eContents().get(0);
+
+ //enum PredefinedTypes:
+ // ANY | NUMBER | DATE;
+ public EnumRule getRule() { return rule; }
+
+ //ANY | NUMBER | DATE
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //ANY
+ public EnumLiteralDeclaration getANYEnumLiteralDeclaration_0() { return cANYEnumLiteralDeclaration_0; }
+
+ //"ANY"
+ public Keyword getANYANYKeyword_0_0() { return cANYANYKeyword_0_0; }
+
+ //NUMBER
+ public EnumLiteralDeclaration getNUMBEREnumLiteralDeclaration_1() { return cNUMBEREnumLiteralDeclaration_1; }
+
+ //"NUMBER"
+ public Keyword getNUMBERNUMBERKeyword_1_0() { return cNUMBERNUMBERKeyword_1_0; }
+
+ //DATE
+ public EnumLiteralDeclaration getDATEEnumLiteralDeclaration_2() { return cDATEEnumLiteralDeclaration_2; }
+
+ //"DATE"
+ public Keyword getDATEDATEKeyword_2_0() { return cDATEDATEKeyword_2_0; }
+ }
+
+ private final NLSElements pNLS;
+ private final PackageDeclarationElements pPackageDeclaration;
+ private final NLSBundleElements pNLSBundle;
+ private final NLSFormatterElements pNLSFormatter;
+ private final MessageEntryElements pMessageEntry;
+ private final MessageParamElements pMessageParam;
+ private final MessageElements pMessage;
+ private final RichStringElements pRichString;
+ private final RichStringLiteralElements pRichStringLiteral;
+ private final RichStringLiteralStartElements pRichStringLiteralStart;
+ private final RichStringLiteralEndElements pRichStringLiteralEnd;
+ private final RichStringLiteralInbetweenElements pRichStringLiteralInbetween;
+ private final RichVarPartElements pRichVarPart;
+ private final ValidIDElements pValidID;
+ private final QualifiedNameElements pQualifiedName;
+ private final PredefinedTypesElements unknownRulePredefinedTypes;
+ private final TerminalRule tRICH_TEXT;
+ private final TerminalRule tRICH_TEXT_START;
+ private final TerminalRule tRICH_TEXT_END;
+ private final TerminalRule tRICH_TEXT_INBETWEEN;
+ private final TerminalRule tIN_RICH_STRING;
+
+ private final Grammar grammar;
+
+ private final TerminalsGrammarAccess gaTerminals;
+
+ @Inject
+ public NLSDslGrammarAccess(GrammarProvider grammarProvider,
+ TerminalsGrammarAccess gaTerminals) {
+ this.grammar = internalFindGrammar(grammarProvider);
+ this.gaTerminals = gaTerminals;
+ this.pNLS = new NLSElements();
+ this.pPackageDeclaration = new PackageDeclarationElements();
+ this.pNLSBundle = new NLSBundleElements();
+ this.pNLSFormatter = new NLSFormatterElements();
+ this.pMessageEntry = new MessageEntryElements();
+ this.pMessageParam = new MessageParamElements();
+ this.pMessage = new MessageElements();
+ this.pRichString = new RichStringElements();
+ this.pRichStringLiteral = new RichStringLiteralElements();
+ this.pRichStringLiteralStart = new RichStringLiteralStartElements();
+ this.pRichStringLiteralEnd = new RichStringLiteralEndElements();
+ this.pRichStringLiteralInbetween = new RichStringLiteralInbetweenElements();
+ this.pRichVarPart = new RichVarPartElements();
+ this.pValidID = new ValidIDElements();
+ this.pQualifiedName = new QualifiedNameElements();
+ this.unknownRulePredefinedTypes = new PredefinedTypesElements();
+ this.tRICH_TEXT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "RICH_TEXT");
+ this.tRICH_TEXT_START = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "RICH_TEXT_START");
+ this.tRICH_TEXT_END = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "RICH_TEXT_END");
+ this.tRICH_TEXT_INBETWEEN = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "RICH_TEXT_INBETWEEN");
+ this.tIN_RICH_STRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "IN_RICH_STRING");
+ }
+
+ protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
+ Grammar grammar = grammarProvider.getGrammar(this);
+ while (grammar != null) {
+ if ("org.eclipse.fx.ide.l10n.NLSDsl".equals(grammar.getName())) {
+ return grammar;
+ }
+ List<Grammar> grammars = grammar.getUsedGrammars();
+ if (!grammars.isEmpty()) {
+ grammar = grammars.iterator().next();
+ } else {
+ return null;
+ }
+ }
+ return grammar;
+ }
+
+
+ public Grammar getGrammar() {
+ return grammar;
+ }
+
+
+ public TerminalsGrammarAccess getTerminalsGrammarAccess() {
+ return gaTerminals;
+ }
+
+
+ //NLS:
+ // package=PackageDeclaration? "{" bundleList+=NLSBundle+ "}";
+ public NLSElements getNLSAccess() {
+ return pNLS;
+ }
+
+ public ParserRule getNLSRule() {
+ return getNLSAccess().getRule();
+ }
+
+ //PackageDeclaration:
+ // "package" name=QualifiedName;
+ public PackageDeclarationElements getPackageDeclarationAccess() {
+ return pPackageDeclaration;
+ }
+
+ public ParserRule getPackageDeclarationRule() {
+ return getPackageDeclarationAccess().getRule();
+ }
+
+ //NLSBundle:
+ // "bundle" name=ID "default" lang=ID "{" formatterList+=NLSFormatter* messageEntryList+=MessageEntry+ "}";
+ public NLSBundleElements getNLSBundleAccess() {
+ return pNLSBundle;
+ }
+
+ public ParserRule getNLSBundleRule() {
+ return getNLSBundleAccess().getRule();
+ }
+
+ //NLSFormatter:
+ // "formatter" name=ID classRef=QualifiedName;
+ public NLSFormatterElements getNLSFormatterAccess() {
+ return pNLSFormatter;
+ }
+
+ public ParserRule getNLSFormatterRule() {
+ return getNLSFormatterAccess().getRule();
+ }
+
+ //MessageEntry:
+ // name=ID ("(" paramList+=MessageParam ("," paramList+=MessageParam)* ")")? ":" ("{" messageList+=Message (","
+ // messageList+=Message)* "}" | "[" entryRef=[MessageEntry|QualifiedName] "]");
+ public MessageEntryElements getMessageEntryAccess() {
+ return pMessageEntry;
+ }
+
+ public ParserRule getMessageEntryRule() {
+ return getMessageEntryAccess().getRule();
+ }
+
+ //MessageParam:
+ // predefined=PredefinedTypes var=ID;
+ public MessageParamElements getMessageParamAccess() {
+ return pMessageParam;
+ }
+
+ public ParserRule getMessageParamRule() {
+ return getMessageParamAccess().getRule();
+ }
+
+ //Message:
+ // name=ID ":" message=RichString / *| '[' messageRef=[Message|QualifiedName] ']'* /;
+ public MessageElements getMessageAccess() {
+ return pMessage;
+ }
+
+ public ParserRule getMessageRule() {
+ return getMessageAccess().getRule();
+ }
+
+ //RichString:
+ // expressions+=RichStringLiteral | expressions+=RichStringLiteralStart expressions+=RichVarPart?
+ // (expressions+=RichStringLiteralInbetween expressions+=RichVarPart?)* expressions+=RichStringLiteralEnd;
+ public RichStringElements getRichStringAccess() {
+ return pRichString;
+ }
+
+ public ParserRule getRichStringRule() {
+ return getRichStringAccess().getRule();
+ }
+
+ //RichStringLiteral:
+ // value=RICH_TEXT;
+ public RichStringLiteralElements getRichStringLiteralAccess() {
+ return pRichStringLiteral;
+ }
+
+ public ParserRule getRichStringLiteralRule() {
+ return getRichStringLiteralAccess().getRule();
+ }
+
+ //RichStringLiteralStart:
+ // value=RICH_TEXT_START;
+ public RichStringLiteralStartElements getRichStringLiteralStartAccess() {
+ return pRichStringLiteralStart;
+ }
+
+ public ParserRule getRichStringLiteralStartRule() {
+ return getRichStringLiteralStartAccess().getRule();
+ }
+
+ //RichStringLiteralEnd:
+ // value=RICH_TEXT_END;
+ public RichStringLiteralEndElements getRichStringLiteralEndAccess() {
+ return pRichStringLiteralEnd;
+ }
+
+ public ParserRule getRichStringLiteralEndRule() {
+ return getRichStringLiteralEndAccess().getRule();
+ }
+
+ //RichStringLiteralInbetween:
+ // value=RICH_TEXT_INBETWEEN;
+ public RichStringLiteralInbetweenElements getRichStringLiteralInbetweenAccess() {
+ return pRichStringLiteralInbetween;
+ }
+
+ public ParserRule getRichStringLiteralInbetweenRule() {
+ return getRichStringLiteralInbetweenAccess().getRule();
+ }
+
+ //RichVarPart:
+ // key=ID (format=STRING formatterClass=[NLSFormatter|QualifiedName]?)?;
+ public RichVarPartElements getRichVarPartAccess() {
+ return pRichVarPart;
+ }
+
+ public ParserRule getRichVarPartRule() {
+ return getRichVarPartAccess().getRule();
+ }
+
+ //ValidID:
+ // ID;
+ public ValidIDElements getValidIDAccess() {
+ return pValidID;
+ }
+
+ public ParserRule getValidIDRule() {
+ return getValidIDAccess().getRule();
+ }
+
+ //QualifiedName:
+ // ValidID ("." ValidID)*;
+ public QualifiedNameElements getQualifiedNameAccess() {
+ return pQualifiedName;
+ }
+
+ public ParserRule getQualifiedNameRule() {
+ return getQualifiedNameAccess().getRule();
+ }
+
+ //enum PredefinedTypes:
+ // ANY | NUMBER | DATE;
+ public PredefinedTypesElements getPredefinedTypesAccess() {
+ return unknownRulePredefinedTypes;
+ }
+
+ public EnumRule getPredefinedTypesRule() {
+ return getPredefinedTypesAccess().getRule();
+ }
+
+ //terminal RICH_TEXT:
+ // "\'\'\'" IN_RICH_STRING* ("\'\'\'" | ("\'" "\'"?)? EOF);
+ public TerminalRule getRICH_TEXTRule() {
+ return tRICH_TEXT;
+ }
+
+ //terminal RICH_TEXT_START:
+ // "\'\'\'" IN_RICH_STRING* ("\'" "\'"?)? "«";
+ public TerminalRule getRICH_TEXT_STARTRule() {
+ return tRICH_TEXT_START;
+ }
+
+ //terminal RICH_TEXT_END:
+ // "»" IN_RICH_STRING* ("\'\'\'" | ("\'" "\'"?)? EOF);
+ public TerminalRule getRICH_TEXT_ENDRule() {
+ return tRICH_TEXT_END;
+ }
+
+ //terminal RICH_TEXT_INBETWEEN:
+ // "»" IN_RICH_STRING* ("\'" "\'"?)? "«";
+ public TerminalRule getRICH_TEXT_INBETWEENRule() {
+ return tRICH_TEXT_INBETWEEN;
+ }
+
+ //terminal fragment IN_RICH_STRING:
+ // "\'\'" !("«" | "\'") | "\'" !("«" | "\'") | !("«" | "\'");
+ public TerminalRule getIN_RICH_STRINGRule() {
+ return tIN_RICH_STRING;
+ }
+
+ //terminal ID:
+ // "^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
+ public TerminalRule getIDRule() {
+ return gaTerminals.getIDRule();
+ }
+
+ //terminal INT returns ecore::EInt:
+ // "0".."9"+;
+ public TerminalRule getINTRule() {
+ return gaTerminals.getINTRule();
+ }
+
+ //terminal STRING:
+ // "\"" ("\\" . / * 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' * / | !("\\" | "\""))* "\"" | "\'" ("\\" .
+ // / * 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' * / | !("\\" | "\'"))* "\'";
+ public TerminalRule getSTRINGRule() {
+ return gaTerminals.getSTRINGRule();
+ }
+
+ //terminal ML_COMMENT:
+ // "/ *"->"* /";
+ public TerminalRule getML_COMMENTRule() {
+ return gaTerminals.getML_COMMENTRule();
+ }
+
+ //terminal SL_COMMENT:
+ // "//" !("\n" | "\r")* ("\r"? "\n")?;
+ public TerminalRule getSL_COMMENTRule() {
+ return gaTerminals.getSL_COMMENTRule();
+ }
+
+ //terminal WS:
+ // (" " | "\t" | "\r" | "\n")+;
+ public TerminalRule getWSRule() {
+ return gaTerminals.getWSRule();
+ }
+
+ //terminal ANY_OTHER:
+ // .;
+ public TerminalRule getANY_OTHERRule() {
+ return gaTerminals.getANY_OTHERRule();
+ }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/validation/AbstractNLSDslValidator.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/validation/AbstractNLSDslValidator.java
new file mode 100644
index 000000000..e3f0a5e31
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src-gen/org/eclipse/fx/ide/l10n/validation/AbstractNLSDslValidator.java
@@ -0,0 +1,18 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.l10n.validation;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.eclipse.emf.ecore.EPackage;
+
+public class AbstractNLSDslValidator extends org.eclipse.xtext.validation.AbstractDeclarativeValidator {
+
+ @Override
+ protected List<EPackage> getEPackages() {
+ List<EPackage> result = new ArrayList<EPackage>();
+ result.add(org.eclipse.fx.ide.l10n.nLSDsl.NLSDslPackage.eINSTANCE);
+ return result;
+ }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/GenerateNLSDsl.mwe2 b/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/GenerateNLSDsl.mwe2
new file mode 100644
index 000000000..f7a9badeb
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/GenerateNLSDsl.mwe2
@@ -0,0 +1,133 @@
+module org.eclipse.fx.ide.l10n.GenerateNLSDsl
+
+import org.eclipse.emf.mwe.utils.*
+import org.eclipse.xtext.generator.*
+import org.eclipse.xtext.ui.generator.*
+
+var grammarURI = "classpath:/org/eclipse/fx/ide/l10n/NLSDsl.xtext"
+var fileExtensions = "l10n"
+var projectName = "org.eclipse.fx.ide.l10n"
+var runtimeProject = "../${projectName}"
+var generateXtendStub = true
+var encoding = "UTF-8"
+
+Workflow {
+ bean = StandaloneSetup {
+ scanClassPath = true
+ platformUri = "${runtimeProject}/.."
+ // The following two lines can be removed, if Xbase is not used.
+ registerGeneratedEPackage = "org.eclipse.xtext.xbase.XbasePackage"
+ registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel"
+ }
+
+ component = DirectoryCleaner {
+ directory = "${runtimeProject}/src-gen"
+ }
+
+ component = DirectoryCleaner {
+ directory = "${runtimeProject}/model/generated"
+ }
+
+ component = DirectoryCleaner {
+ directory = "${runtimeProject}.ui/src-gen"
+ }
+
+ component = DirectoryCleaner {
+ directory = "${runtimeProject}.tests/src-gen"
+ }
+
+ component = Generator {
+ pathRtProject = runtimeProject
+ pathUiProject = "${runtimeProject}.ui"
+ pathTestProject = "${runtimeProject}.tests"
+ projectNameRt = projectName
+ projectNameUi = "${projectName}.ui"
+ encoding = encoding
+ language = auto-inject {
+ uri = grammarURI
+
+ // Java API to access grammar elements (required by several other fragments)
+ fragment = grammarAccess.GrammarAccessFragment auto-inject {}
+
+ // generates Java API for the generated EPackages
+ fragment = ecore.EMFGeneratorFragment auto-inject {}
+
+ // the old serialization component
+ // fragment = parseTreeConstructor.ParseTreeConstructorFragment auto-inject {}
+
+ // serializer 2.0
+ fragment = serializer.SerializerFragment auto-inject {
+ generateStub = false
+ }
+
+ // a custom ResourceFactory for use with EMF
+ fragment = resourceFactory.ResourceFactoryFragment auto-inject {}
+
+ // The antlr parser generator fragment.
+ fragment = parser.antlr.XtextAntlrGeneratorFragment auto-inject {
+ // options = {
+ // backtrack = true
+ // }
+ }
+
+ // Xtend-based API for validation
+ fragment = validation.ValidatorFragment auto-inject {
+ // composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+ }
+
+ // old scoping and exporting API
+ // fragment = scoping.ImportURIScopingFragment auto-inject {}
+ // fragment = exporting.SimpleNamesFragment auto-inject {}
+
+ // scoping and exporting API
+ fragment = scoping.ImportNamespacesScopingFragment auto-inject {}
+ fragment = exporting.QualifiedNamesFragment auto-inject {}
+ fragment = builder.BuilderIntegrationFragment auto-inject {}
+
+ // generator API
+ fragment = generator.GeneratorFragment auto-inject {}
+
+ // formatter API
+ fragment = formatting.FormatterFragment auto-inject {}
+
+ // labeling API
+ fragment = labeling.LabelProviderFragment auto-inject {}
+
+ // outline API
+ fragment = outline.OutlineTreeProviderFragment auto-inject {}
+ fragment = outline.QuickOutlineFragment auto-inject {}
+
+ // quickfix API
+ fragment = quickfix.QuickfixProviderFragment auto-inject {}
+
+ // content assist API
+ fragment = contentAssist.ContentAssistFragment auto-inject {}
+
+ // generates a more lightweight Antlr parser and lexer tailored for content assist
+ fragment = parser.antlr.XtextAntlrUiGeneratorFragment auto-inject {}
+
+ // generates junit test support classes into Generator#pathTestProject
+ fragment = junit.Junit4Fragment auto-inject {}
+
+ // rename refactoring
+ fragment = refactoring.RefactorElementNameFragment auto-inject {}
+
+ // provides the necessary bindings for java types integration
+ fragment = types.TypesGeneratorFragment auto-inject {}
+
+ // generates the required bindings only if the grammar inherits from Xbase
+ fragment = xbase.XbaseGeneratorFragment auto-inject {}
+
+ // generates the required bindings only if the grammar inherits from Xtype
+ fragment = xbase.XtypeGeneratorFragment auto-inject {}
+
+ // provides a preference page for template proposals
+ fragment = templates.CodetemplatesGeneratorFragment auto-inject {}
+
+ // provides a compare view
+ fragment = compare.CompareFragment auto-inject {}
+ }
+ }
+}
+
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/NLSDsl.xtext b/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/NLSDsl.xtext
new file mode 100644
index 000000000..f0896891a
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/NLSDsl.xtext
@@ -0,0 +1,87 @@
+grammar org.eclipse.fx.ide.l10n.NLSDsl with org.eclipse.xtext.common.Terminals
+
+generate nLSDsl "http://www.eclipse.org/fx/ide/l10n/NLSDsl"
+
+NLS:
+ package=PackageDeclaration? '{'
+ bundleList+=NLSBundle+
+ '}'
+;
+
+PackageDeclaration:
+ 'package' name=QualifiedName
+;
+
+NLSBundle:
+ 'bundle' name=ID 'default' lang=ID '{'
+ formatterList+=NLSFormatter*
+ messageEntryList+=MessageEntry+
+ '}'
+;
+
+NLSFormatter:
+ 'formatter' name=ID classRef=QualifiedName
+;
+
+MessageEntry:
+ name=ID ('(' paramList+=MessageParam ( ',' paramList+=MessageParam )* ')')? ':' ('{' messageList+=Message (',' messageList+=Message )* '}' | '['entryRef=[MessageEntry|QualifiedName] ']')
+;
+
+MessageParam:
+ predefined=PredefinedTypes var=ID
+;
+
+Message:
+ name=ID ':' (message=RichString /*| '[' messageRef=[Message|QualifiedName] ']'*/ )
+;
+
+RichString:
+ (
+ expressions+=RichStringLiteral |
+ expressions+=RichStringLiteralStart expressions+=RichVarPart?
+ (expressions+=RichStringLiteralInbetween expressions+=RichVarPart?)*
+ expressions+=RichStringLiteralEnd
+ )
+;
+
+RichStringLiteral:
+ value=RICH_TEXT
+;
+
+RichStringLiteralStart:
+ value=RICH_TEXT_START
+;
+
+RichStringLiteralEnd:
+ value=RICH_TEXT_END
+;
+
+RichStringLiteralInbetween:
+ value=RICH_TEXT_INBETWEEN
+;
+
+RichVarPart:
+ key=ID (
+ format=STRING (formatterClass=[NLSFormatter|QualifiedName])?
+ )?
+;
+
+ValidID:
+ ID;
+
+QualifiedName:
+ ValidID (=>'.' ValidID)*;
+
+enum PredefinedTypes :
+ ANY | NUMBER | DATE
+;
+
+terminal RICH_TEXT : "'''" IN_RICH_STRING* ("'''"| ("'" "'"?)? EOF);
+terminal RICH_TEXT_START : "'''" IN_RICH_STRING* ("'" "'"?)? '«';
+terminal RICH_TEXT_END : '»' IN_RICH_STRING* ("'''"| ("'" "'"?)? EOF) ;
+terminal RICH_TEXT_INBETWEEN : '»' IN_RICH_STRING* ("'" "'"?)? '«';
+
+terminal fragment IN_RICH_STRING :
+ "''" !('«'|"'")
+ | "'" !('«'|"'")
+ | !('«'|"'");
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/NLSDslRuntimeModule.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/NLSDslRuntimeModule.java
new file mode 100644
index 000000000..11523dc03
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/NLSDslRuntimeModule.java
@@ -0,0 +1,11 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.l10n;
+
+/**
+ * Use this class to register components to be used at runtime / without the Equinox extension registry.
+ */
+public class NLSDslRuntimeModule extends org.eclipse.fx.ide.l10n.AbstractNLSDslRuntimeModule {
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/NLSDslStandaloneSetup.java b/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/NLSDslStandaloneSetup.java
new file mode 100644
index 000000000..c48d2b7c6
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/NLSDslStandaloneSetup.java
@@ -0,0 +1,16 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.fx.ide.l10n;
+
+/**
+ * Initialization support for running Xtext languages
+ * without equinox extension registry
+ */
+public class NLSDslStandaloneSetup extends NLSDslStandaloneSetupGenerated{
+
+ public static void doSetup() {
+ new NLSDslStandaloneSetup().createInjectorAndDoEMFRegistration();
+ }
+}
+
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/formatting/NLSDslFormatter.xtend b/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/formatting/NLSDslFormatter.xtend
new file mode 100644
index 000000000..52aa6ab8f
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/formatting/NLSDslFormatter.xtend
@@ -0,0 +1,30 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.l10n.formatting
+
+import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter
+import org.eclipse.xtext.formatting.impl.FormattingConfig
+// import com.google.inject.Inject;
+// import org.eclipse.fx.ide.l10n.services.NLSDslGrammarAccess
+
+/**
+ * This class contains custom formatting description.
+ *
+ * see : http://www.eclipse.org/Xtext/documentation.html#formatting
+ * on how and when to use it
+ *
+ * Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example
+ */
+class NLSDslFormatter extends AbstractDeclarativeFormatter {
+
+// @Inject extension NLSDslGrammarAccess
+
+ override protected void configureFormatting(FormattingConfig c) {
+// It's usually a good idea to activate the following three statements.
+// They will add and preserve newlines around comments
+// c.setLinewrap(0, 1, 2).before(SL_COMMENTRule)
+// c.setLinewrap(0, 1, 2).before(ML_COMMENTRule)
+// c.setLinewrap(0, 1, 1).after(ML_COMMENTRule)
+ }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/generator/NLSDslGenerator.xtend b/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/generator/NLSDslGenerator.xtend
new file mode 100644
index 000000000..67f4e0be0
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/generator/NLSDslGenerator.xtend
@@ -0,0 +1,219 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.l10n.generator
+
+import java.util.HashSet
+import org.eclipse.emf.ecore.EObject
+import org.eclipse.emf.ecore.resource.Resource
+import org.eclipse.fx.ide.l10n.nLSDsl.MessageEntry
+import org.eclipse.fx.ide.l10n.nLSDsl.NLS
+import org.eclipse.fx.ide.l10n.nLSDsl.NLSBundle
+import org.eclipse.fx.ide.l10n.nLSDsl.PredefinedTypes
+import org.eclipse.fx.ide.l10n.nLSDsl.RichString
+import org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteral
+import org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralEnd
+import org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralInbetween
+import org.eclipse.fx.ide.l10n.nLSDsl.RichStringLiteralStart
+import org.eclipse.fx.ide.l10n.nLSDsl.RichVarPart
+import org.eclipse.xtext.generator.IFileSystemAccess
+import org.eclipse.xtext.generator.IGenerator
+
+/**
+ * Generates code from your model files on save.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#TutorialCodeGeneration
+ */
+class NLSDslGenerator implements IGenerator {
+
+ override void doGenerate(Resource resource, IFileSystemAccess fsa) {
+ val root = resource.contents.head as NLS
+
+ root.bundleList.forEach[b|
+ handleBundle(root,b,fsa)
+ ]
+ }
+
+ def handleBundle(NLS root, NLSBundle b, IFileSystemAccess fsa) {
+ fsa.generateFile(root.package.name.replace(".","/")+"/"+b.name+".properties",b.genPropertyFile(b.lang))
+ fsa.generateFile(root.package.name.replace(".","/")+"/"+b.name+".java",b.genClass(root))
+ fsa.generateFile(root.package.name.replace(".","/")+"/"+b.name+"Registry.java",b.genRegistryClass(root))
+
+ val set = new HashSet<String>
+ b.messageEntryList.fold(set,[r,s|
+ r.addAll(s.messageList.filter[m|m.name != null].map[m|m.name])
+ return r;
+ ]).forEach[lang|
+ fsa.generateFile(root.package.name.replace(".","/")+"/"+b.name+"_"+lang+".properties",b.genPropertyFile(lang))
+ ]
+ }
+
+ def genClass(NLSBundle nls, NLS root) '''
+ package «root.package.name»;
+
+ public class «nls.name» {
+ «FOR me : nls.messageEntryList.filter[m|m.entryRef == null]»
+ public String «me.name»;
+ «ENDFOR»
+ }
+ '''
+
+ def genRegistryClass(NLSBundle nls, NLS root) '''
+ package «root.package.name»;
+
+ import org.eclipse.fx.core.di.text.AbstractMessageRegistry;
+ import org.eclipse.fx.core.text.Formatter;
+
+ import org.eclipse.e4.core.di.annotations.Creatable;
+
+ import java.util.function.Supplier;
+
+ import javax.inject.Inject;
+
+ import org.eclipse.e4.core.services.nls.Translation;
+
+ @Creatable
+ public class «nls.name»Registry extends AbstractMessageRegistry<«nls.name»> {
+ «IF nls.eAllContents.filter(typeof(RichVarPart)).findFirst[p|p.findFormatter == "-number"] != null»
+ @Inject
+ private org.eclipse.fx.core.di.text.NumberFormatter _number;
+ «ENDIF»
+
+ «IF nls.eAllContents.filter(typeof(RichVarPart)).findFirst[p|p.findFormatter == "-date"] != null»
+ @Inject
+ private org.eclipse.fx.core.di.text.DateFormatter _date;
+ «ENDIF»
+
+ «FOR f : nls.formatterList»
+ @Inject
+ private «f.classRef» cust_«f.name»;
+ «ENDFOR»
+
+ «FOR b : nls.messageEntryList.filter[m|m.entryRef != null].fold(new HashSet,[s,e|
+ s.add(e.entryRef.findNLSBundle)
+ return s
+ ])»
+ @Inject
+ private «(b.eContainer as NLS).package.name».«b.name»Registry bundle_«b.name»;
+ «ENDFOR»
+
+ @Inject
+ public void updateMessages(@Translation «nls.name» messages) {
+ super.updateMessages(messages);
+ }
+
+ «FOR me : nls.messageEntryList»
+ public String «me.name»() {
+ «IF me.entryRef != null»
+ return bundle_«me.entryRef.findNLSBundle.name».«me.entryRef.name»();
+ «ELSE»
+ return getMessages().«me.name»;
+ «ENDIF»
+ }
+
+ «IF ! me.paramList.empty»
+ public String «me.name»(«me.paramList.map[p|p.predefined.toSourceString + " " + p.^var].join(", ")») {
+ «IF me.entryRef != null»
+ return bundle_«me.entryRef.findNLSBundle.name».«me.entryRef.name»(«me.paramList.map[p|p.^var].join(", ")»);
+ «ELSE»
+ java.util.Map<String,Object> dataMap = new java.util.HashMap<>();
+ «FOR p : me.paramList»
+ dataMap.put("«p.^var»",«p.^var»);
+ «ENDFOR»
+ «IF me.messageList.head.message.expressions.filter(typeof(RichVarPart)).findFirst[p|p.format!= null] != null»
+ java.util.Map<String,Formatter<?>> formatterMap = new java.util.HashMap<>();
+ «FOR o : me.messageList.head.message.expressions.filter(typeof(RichVarPart)).filter[p|p.format != null].map[findFormatter].fold(new HashSet,[ s,p |
+ s.add(p)
+ return s
+ ])»
+ «IF o == "-default"»
+ formatterMap.put("«o»",org.eclipse.fx.core.text.Formatter.TO_STRING);
+ «ELSEIF o == "-date"»
+ formatterMap.put("«o»",_date);
+ «ELSEIF o == "-number"»
+ formatterMap.put("«o»",_number);
+ «ELSE»
+ formatterMap.put("«o»",cust_«o»);
+ «ENDIF»
+ «ENDFOR»
+ return org.eclipse.fx.core.text.MessageFormatter.create(dataMap::get,formatterMap::get).apply( «me.name»() );
+ «ELSE»
+ return org.apache.commons.lang.text.StrSubstitutor.replace( «me.name»(), dataMap);
+ «ENDIF»
+ «ENDIF»
+ }
+
+ public Supplier<String> «me.name»_supplier(«me.paramList.map[p|p.predefined.toSourceString + " " + p.^var].join(", ")») {
+ return () -> «me.name»(«me.paramList.map[p|p.^var].join(", ")»);
+ }
+ «ENDIF»
+
+ «ENDFOR»
+ }
+ '''
+
+// def formattedValue(MessageParam p) {
+//
+// }
+
+ def toSourceString(PredefinedTypes t) {
+ if( t == PredefinedTypes::ANY ) {
+ return "Object"
+ } else if( t == PredefinedTypes::DATE ) {
+ return "java.util.Date"
+ } else {
+ return "Number"
+ }
+ }
+
+ def genPropertyFile(NLSBundle nls, String lang) '''
+ «FOR e : nls.messageEntryList.filter[m|m.messageList.findFirst[mm|mm.name == lang] != null]»
+ «e.name» = «e.messageList.findFirst[m|m.name == lang].message.toText»
+ «ENDFOR»
+ '''
+
+ def toText(RichString r) {
+ return r.expressions.map[e|
+ if( e instanceof RichStringLiteral ) {
+ return e.value.substring(3,e.value.length-3)
+ } else if( e instanceof RichStringLiteralStart ) {
+ return e.value.substring(3,e.value.length-1)
+ } else if( e instanceof RichStringLiteralEnd ) {
+ return e.value.substring(1,e.value.length-3)
+ } else if( e instanceof RichVarPart ) {
+ return "${" + e.key + if( e.format != null ) { "," + e.findFormatter +"," + e.format } + "}" else "}"
+ } else if( e instanceof RichStringLiteralInbetween ) {
+ return e.value.substring(1,e.value.length-1)
+ }
+ return e.toString
+ ].join
+ }
+
+ def findFormatter(RichVarPart p) {
+ if( p.formatterClass != null ) {
+ return p.formatterClass.name
+ } else {
+ switch(p.findMessageEntry.paramList.findFirst[param|param.^var == p.key].predefined) {
+ case DATE: return "-date"
+ case NUMBER: return "-number"
+ default: return "-default"
+ }
+ }
+ }
+
+ def NLSBundle findNLSBundle(EObject e) {
+ if( e.eContainer instanceof NLSBundle ) {
+ return e.eContainer as NLSBundle
+ }
+
+ return e.eContainer?.findNLSBundle
+ }
+
+ def MessageEntry findMessageEntry(EObject e) {
+ if( e.eContainer instanceof MessageEntry ) {
+ return e.eContainer as MessageEntry
+ }
+
+ return e.eContainer?.findMessageEntry
+ }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/scoping/NLSDslScopeProvider.xtend b/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/scoping/NLSDslScopeProvider.xtend
new file mode 100644
index 000000000..fe2530bff
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/scoping/NLSDslScopeProvider.xtend
@@ -0,0 +1,15 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.l10n.scoping
+
+/**
+ * This class contains custom scoping description.
+ *
+ * see : http://www.eclipse.org/Xtext/documentation.html#scoping
+ * on how and when to use it
+ *
+ */
+class NLSDslScopeProvider extends org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider {
+
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/validation/NLSDslValidator.xtend b/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/validation/NLSDslValidator.xtend
new file mode 100644
index 000000000..4534cee0d
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/src/org/eclipse/fx/ide/l10n/validation/NLSDslValidator.xtend
@@ -0,0 +1,24 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.fx.ide.l10n.validation
+//import org.eclipse.xtext.validation.Check
+
+/**
+ * Custom validation rules.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#validation
+ */
+class NLSDslValidator extends AbstractNLSDslValidator {
+
+// public static val INVALID_NAME = 'invalidName'
+//
+// @Check
+// def checkGreetingStartsWithCapital(Greeting greeting) {
+// if (!Character.isUpperCase(greeting.name.charAt(0))) {
+// warning('Name should start with a capital',
+// MyDslPackage.Literals.GREETING__NAME,
+// INVALID_NAME)
+// }
+// }
+}
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/formatting/.gitignore b/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/formatting/.gitignore
new file mode 100644
index 000000000..6a68d28a2
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/formatting/.gitignore
@@ -0,0 +1,2 @@
+/.NLSDslFormatter.java._trace
+/NLSDslFormatter.java
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/generator/.gitignore b/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/generator/.gitignore
new file mode 100644
index 000000000..0947b9d76
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/generator/.gitignore
@@ -0,0 +1,2 @@
+/.NLSDslGenerator.java._trace
+/NLSDslGenerator.java
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/scoping/.gitignore b/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/scoping/.gitignore
new file mode 100644
index 000000000..aa321ff2b
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/scoping/.gitignore
@@ -0,0 +1,2 @@
+/.NLSDslScopeProvider.java._trace
+/NLSDslScopeProvider.java
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/validation/.gitignore b/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/validation/.gitignore
new file mode 100644
index 000000000..b308109bf
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/validation/.gitignore
@@ -0,0 +1,2 @@
+/.NLSDslValidator.java._trace
+/NLSDslValidator.java

Back to the top