migrated BacktrackLexerTestLanguage (part 1)

This commit is contained in:
Sven Efftinge 2015-11-13 15:40:48 +01:00
parent 499a86bbf1
commit b6871001dd
4 changed files with 86 additions and 16 deletions

View file

@ -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) {

View file

@ -0,0 +1,31 @@
<?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="backtrackingTestLanguage" nsURI="http://www.eclipse.org/2008/tmf/xtext/BacktrackingLexerTest"
nsPrefix="backtrackingTestLanguage">
<eClassifiers xsi:type="ecore:EClass" name="Model">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="enums" unique="false" upperBound="-1"
eType="#//EnumName"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="ycs" unique="false" upperBound="-1"
eType="ecore:EDataType platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="abs" upperBound="-1" eType="#//Ab"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="xbs" upperBound="-1" eType="#//Xb"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="ys" unique="false" upperBound="-1"
eType="ecore:EDataType platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="as" unique="false" upperBound="-1"
eType="ecore:EDataType platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Ab">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="x" eType="ecore:EDataType platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="y" eType="ecore:EDataType platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Xb">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="x" eType="ecore:EDataType platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="y" eType="ecore:EDataType platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="EnumName">
<eLiterals name="abc" literal="Abc"/>
<eLiterals name="efg" value="1" literal="Efg"/>
</eClassifiers>
</ecore:EPackage>

View file

@ -0,0 +1,31 @@
<?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" copyrightText="generated by Xtext" modelDirectory="/org.eclipse.xtext.tests/src-gen"
modelPluginID="org.eclipse.xtext.tests" forceOverwrite="true" modelName="BacktrackingLexerTestLanguage"
updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
complianceLevel="6.0" copyrightFields="false" runtimeVersion="2.11" usedGenPackages="platform:/resource/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
<genPackages prefix="BacktrackingTestLanguage" basePackage="org.eclipse.xtext.lexer"
disposableProviderFactory="true" fileExtensions="backtrackinglexertestlanguage"
ecorePackage="BacktrackingLexerTestLanguage.ecore#/">
<genEnums typeSafeEnumCompatible="false" ecoreEnum="BacktrackingLexerTestLanguage.ecore#//EnumName">
<genEnumLiterals ecoreEnumLiteral="BacktrackingLexerTestLanguage.ecore#//EnumName/abc"/>
<genEnumLiterals ecoreEnumLiteral="BacktrackingLexerTestLanguage.ecore#//EnumName/efg"/>
</genEnums>
<genClasses ecoreClass="BacktrackingLexerTestLanguage.ecore#//Model">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute BacktrackingLexerTestLanguage.ecore#//Model/enums"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute BacktrackingLexerTestLanguage.ecore#//Model/ycs"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BacktrackingLexerTestLanguage.ecore#//Model/abs"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BacktrackingLexerTestLanguage.ecore#//Model/xbs"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute BacktrackingLexerTestLanguage.ecore#//Model/ys"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute BacktrackingLexerTestLanguage.ecore#//Model/as"/>
</genClasses>
<genClasses ecoreClass="BacktrackingLexerTestLanguage.ecore#//Ab">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute BacktrackingLexerTestLanguage.ecore#//Ab/x"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute BacktrackingLexerTestLanguage.ecore#//Ab/y"/>
</genClasses>
<genClasses ecoreClass="BacktrackingLexerTestLanguage.ecore#//Xb">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute BacktrackingLexerTestLanguage.ecore#//Xb/x"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute BacktrackingLexerTestLanguage.ecore#//Xb/y"/>
</genClasses>
</genPackages>
</genmodel:GenModel>

View file

@ -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"