diff --git a/plugins/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/parser/antlr/GrammarNaming.xtend b/plugins/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/parser/antlr/GrammarNaming.xtend
index 7b60e048d..5f0f2fea2 100644
--- a/plugins/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/parser/antlr/GrammarNaming.xtend
+++ b/plugins/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/parser/antlr/GrammarNaming.xtend
@@ -32,13 +32,21 @@ class GrammarNaming {
protected def String getInternalParserPackage(Grammar it) {
parserPackage + ".internal"
}
+
+ protected def String getInternalLexerPackage(Grammar it) {
+ parserPackage + ".lexer"
+ }
def AntlrGrammar getParserGrammar(Grammar it) {
new AntlrGrammar(internalParserPackage, '''«grammarNamePrefix»Internal«simpleName»«IF !combinedGrammar»Parser«ENDIF»''')
}
def AntlrGrammar getLexerGrammar(Grammar it) {
- new AntlrGrammar(internalParserPackage, '''«grammarNamePrefix»Internal«simpleName»«IF !combinedGrammar»Lexer«ENDIF»''')
+ if (combinedGrammar) {
+ getParserGrammar(it)
+ } else {
+ new AntlrGrammar(internalLexerPackage, '''«grammarNamePrefix»Internal«simpleName»Lexer''')
+ }
}
protected def String getGrammarNamePrefix(Grammar it) {
diff --git a/tests/org.eclipse.xtext.tests/model/generated/BacktrackingLexerTestLanguage.ecore b/tests/org.eclipse.xtext.tests/model/generated/BacktrackingLexerTestLanguage.ecore
new file mode 100644
index 000000000..341657813
--- /dev/null
+++ b/tests/org.eclipse.xtext.tests/model/generated/BacktrackingLexerTestLanguage.ecore
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/org.eclipse.xtext.tests/model/generated/BacktrackingLexerTestLanguage.genmodel b/tests/org.eclipse.xtext.tests/model/generated/BacktrackingLexerTestLanguage.genmodel
new file mode 100644
index 000000000..787632545
--- /dev/null
+++ b/tests/org.eclipse.xtext.tests/model/generated/BacktrackingLexerTestLanguage.genmodel
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/GenerateAllTestLanguages2.mwe2 b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/GenerateAllTestLanguages2.mwe2
index 888fbba58..271769f29 100644
--- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/GenerateAllTestLanguages2.mwe2
+++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/GenerateAllTestLanguages2.mwe2
@@ -87,24 +87,24 @@ Workflow {
}
}
}
- language = TestLanguage {
- name = "org.eclipse.xtext.generator.ecore.SuperTestLanguage"
- }
- language = TestLanguage {
- name = "org.eclipse.xtext.generator.ecore.SubTestLanguage"
- }
+// language = TestLanguage {
+// name = "org.eclipse.xtext.generator.ecore.SuperTestLanguage"
+// }
+// language = TestLanguage {
+// name = "org.eclipse.xtext.generator.ecore.SubTestLanguage"
+// }
// language = TestLanguage {
// name = "org.eclipse.xtext.XtextGrammarTestLanguage"
// }
-// language = TestLanguage {
-// name = "org.eclipse.xtext.lexer.BacktrackingLexerTestLanguage"
-// parserOptions = {
-// backtrack = true
-// backtrackLexer = true
-// memoize = true
-// classSplitting = true
-// }
-// }
+ language = TestLanguage {
+ name = "org.eclipse.xtext.lexer.BacktrackingLexerTestLanguage"
+ parserOptions = {
+ backtrack = true
+ backtrackLexer = true
+ memoize = true
+ classSplitting = true
+ }
+ }
//
// language = TestLanguage {
// name = "org.eclipse.xtext.lexer.IgnoreCaseLexerTestLanguage"