mirror of
https://github.com/sigmasternchen/xtext-core
synced 2025-03-16 08:48:55 +00:00
migrated BacktrackLexerTestLanguage (part 1)
This commit is contained in:
parent
499a86bbf1
commit
b6871001dd
4 changed files with 86 additions and 16 deletions
|
@ -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) {
|
||||
|
|
|
@ -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>
|
|
@ -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>
|
|
@ -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"
|
||||
|
|
Loading…
Reference in a new issue