Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » TMF (Xtext) » Cannot generate artifacts with Xtext 2.9.2 from DSL made with 2.5.4
Cannot generate artifacts with Xtext 2.9.2 from DSL made with 2.5.4 [message #1726317] Fri, 11 March 2016 10:47 Go to next message
David Le Moing is currently offline David Le MoingFriend
Messages: 3
Registered: March 2016
Junior Member
Hi,

We have created 4 DSL in Eclipse Kepler with Xtext 2.5.4. I am currently working on changing the version to Mars and Xtext 2.9.2.
I had no problem for migrating the first 3 DSL. But I have far more issues with the last one.

I tried several things (setting the conversiontimeout option, using 4g of memory, ...), but I always get an OutOfMemoryError. Here is the last one I received :
[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: XtextGenerator)
	 org.eclipse.emf.common.util.WrappedException: java.lang.reflect.InvocationTargetException
	at org.eclipse.xtext.xtext.generator.parser.antlr.AntlrToolFacade.runWithEncodingAndParams(AntlrToolFacade.java:157)
	at org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2.runAntlr(XtextAntlrGeneratorFragment2.java:370)
	at org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2.generateContentAssistGrammar(XtextAntlrGeneratorFragment2.java:294)
	at org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2.doGenerate(XtextAntlrGeneratorFragment2.java:195)
	at org.eclipse.xtext.xtext.generator.parser.antlr.AbstractAntlrGeneratorFragment2.generate(AbstractAntlrGeneratorFragment2.java:117)
	at org.eclipse.xtext.xtext.generator.CompositeGeneratorFragment2.generate(CompositeGeneratorFragment2.java:48)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.invokeInternal(XtextGenerator.java:202)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.xtext.xtext.generator.parser.antlr.AntlrToolFacade.runWithEncodingAndParams(AntlrToolFacade.java:155)
	... 16 more
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
	at java.util.HashMap.newNode(Unknown Source)
	at java.util.HashMap.putVal(Unknown Source)
	at java.util.HashMap.put(Unknown Source)
	at java.util.HashSet.add(Unknown Source)
	at org.antlr.misc.OrderedHashSet.add(OrderedHashSet.java:63)
	at org.antlr.analysis.DFAState.addNFAConfiguration(DFAState.java:226)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:633)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:756)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:756)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:765)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:756)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:692)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:765)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
	at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)

	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.handleIssues(Mwe2Bridge.java:56)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:48)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	... 4 more


And here is the DSL :
grammar com.xxx.dsl.workflow.WfDsl
	with org.eclipse.xtext.xbase.Xtype
	hidden(WS, SL_COMMENT) 

import "http://www.eclipse.org/emf/2002/Ecore" as ecore
import "http://www.eclipse.org/xtext/common/JavaVMTypes" as jvmTypes
import "http://www.eclipse.org/xtext/xbase/Xbase" as xbase

generate wfDsl ".../dsl/workflow/WfDsl"


// Base elements allowed in the .wf file
Model:
    (
          (workflow=AvWFWorkflow)?
        & (libs+=AvWFLib)*
    );

// -----------------
// Language elements

AvWFLib:
    "lib" name=ID ("extends" baseLib=[AvWFLib])? "{"
        (
              ( stdparamdefs+=AvWFStdParamDef )*
            & ( actiondefs+=AvWFActionDef )*
            & ( allowdefs+=AvWFAllowDef )*
            & ( validatordefs+=AvWFValidatorDef )*
            & ( "script" scriptFileName=STRING ";" )?
        )
    "}";
    
AvWFStdParamDef:
    (doc=ML_COMMENT)?
    "stdparam" name=ID ":" type=Type ";";
    
AvWFActionDef:
    (doc=ML_COMMENT)?
    "action" name=ID actionContent=STRING ";";
    
AvWFAllowDef:
    (doc=ML_COMMENT)?
    "allow" key=STRING ";";

AvWFValidatorDef:
    (doc=ML_COMMENT)?
// TODO Doesn't work because "workflow" is a keyword and imports often contain it :-(
// See http://www.eclipse.org/forums/index.php/m/1015388/
//    "validator" name=ID ":" clsName=[ jvmTypes::JvmType | QualifiedName ] ";";
//    "validator" name=ID ":" clsName=[ jvmTypes::JvmParameterizedTypeReference | QualifiedName ] ";";
    "validator" name=ID clsName=STRING ";";

// AvWFWorkflow stuff
AvWFWorkflow:
    "workflow" name=ID "{"
        (
              ( "lib" lib=[AvWFLib] ";" )?
            & ( "i18n" (i18nBundles+=QualifiedName) (',' i18nBundles+=QualifiedName)* ";" )?
            & ( "start" startState=[AvWFState] ";" )?
            & ( "script" scriptFileName=STRING ";" )?
            & ( defaultValidator=AvWFValidator )?
            & ( states+=AvWFState )*
        )
    "}";

AvWFValidator:
    "validator" validator=[AvWFValidatorDef] ";";

// AvWFState stuff
AvWFState:
    "state" name=ID "id" id=INT (isViewable?="viewable")? (isImportable?="importable")? "{"
        (
              ("resKey" resKey=ResKeyValue ";")?
            //& (params+=AvWFParam)*
            & (targets+=AvWFTarget)*
        )
    "}";


// Param stuff
AvWFParam:
    AvWFStdParam | AvWFUserParam;
    
AvWFUserParam:
    "param" name=ID "=" value=STRING ";"; 
    
AvWFStdParam:
    "stdparam" param=[AvWFStdParamDef] ("=" value=AvWFParamValue)? ";";

AvWFParamValue:
    IntValue | StringValue | StatePointerValue;


// Target stuff
AvWFTarget:
    "target" state=[AvWFState] "{"
        (
              ("action" action=AvWFActionType ";")?
            & ("resKey" resKey=ResKeyValue ";")?
            & ("availableIf" available=AvWFBooleanGroovyCall ";")?
            & ("automaticIf" automatic=AvWFBooleanGroovyCall ";")?
            & ("preExecScript" preExecScript=AvWFGroovyCall ";")?
            & ("postExecScript" postExecScript=AvWFGroovyCall ";")?
            & (validator=AvWFValidator)?
            & (allowAll?="allowAll" ";")?
            & (allows+=AvWFAllow)*
            & (params+=AvWFParam)*
        )
    "}";

AvWFAllow:
    "allow" allow=AvWFAllowType ";";
    
AvWFAllowType:
    StringValue | AvWFAllowDef;

AvWFActionType:
    val=StringValue | actionDef=[AvWFActionDef];

AvWFBooleanGroovyCall:
    method=ID "(" (params=STRING)? ")";
    
AvWFGroovyCall:
    method=ID "(" (params=STRING)? ")";

// Data types    */
IntValue:
    val=INT;
    
StringValue:
    val=STRING;

StatePointerValue:
    state=[AvWFState];    
    
Type:
    PrimitiveType /* | ComplexType*/;
    
/*
ComplexType:
    "XXX";
*/

PrimitiveType:
    IntType | StringType | BooleanType | StatePointerType;
    
StatePointerType:
    {StatePointerType} "statepointer";
    
IntType:
    {IntType} "int";
    
StringType:
    {StringType} "string";
    
BooleanType:
    {BooleanType} "boolean";

ResKeyValue:
    resKey=QualifiedName;

QualifiedName:
    ID ("." ID)*;
    
terminal INT returns ecore::EInt: ('0'..'9')+;

Does anyone have any idea why this DSL stopped working with newer versions of Xtext ?
Do you think that splitting the workflow and the lib (more or less the workflow definition) could help to solve the issue ? (I want to avoid that as much as possible because it means that I would have to plan a migration of hundreds of customers files and potentially change a lot the existing plugin code)

Thanks in advance for your help.
Re: Cannot generate artifacts with Xtext 2.9.2 from DSL made with 2.5.4 [message #1726335 is a reply to message #1726317] Fri, 11 March 2016 14:17 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14404
Registered: July 2009
Senior Member
Hi can you file a bug for this.
How does your old workflow look like?


Need professional support for Xtext, Xpand, EMF?
Go to: https://www.itemis.com/en/it-services/methods-and-tools/xtext
Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Cannot generate artifacts with Xtext 2.9.2 from DSL made with 2.5.4 [message #1726339 is a reply to message #1726335] Fri, 11 March 2016 14:36 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14404
Registered: July 2009
Senior Member
p.s. as a workaround you may play with these options

parserGenerator = {
antlrParam = "-Xconversiontimeout"
antlrParam = "5000"
options = {
memoize = true
}
}


Need professional support for Xtext, Xpand, EMF?
Go to: https://www.itemis.com/en/it-services/methods-and-tools/xtext
Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Cannot generate artifacts with Xtext 2.9.2 from DSL made with 2.5.4 [message #1726431 is a reply to message #1726339] Sun, 13 March 2016 13:39 Go to previous messageGo to next message
David Le Moing is currently offline David Le MoingFriend
Messages: 3
Registered: March 2016
Junior Member
I tried to play with those options without success :
fragment = parser.antlr.XtextAntlrGeneratorFragment2 {
    antlrParam = "-Xconversiontimeout"
    antlrParam = "6000"
    options = {
        memoize = true
    }
}

I also tried to split the DSL in 2 distinct ones (one for the workflow and an other that contains some objects definitions), but I get the same error.

And here is the old workflow :
module com.xxx.eclipse.workflow.dsl.GenerateWfDsl

import org.eclipse.emf.mwe.utils.*
import org.eclipse.xtext.generator.*
import org.eclipse.xtext.ui.generator.*

var grammarURI = "classpath:/WfDsl.xtext"
var file.extensions = "wf"
var projectName = "com.xxx.eclipse.wf-dsl"
var runtimeProject = "../${projectName}"

Workflow {
    bean = StandaloneSetup {
        scanClassPath = true
        registerGeneratedEPackage = "org.eclipse.xtext.xbase.XbasePackage"
        registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel"
        // needed for import "http://www.eclipse.org/xtext/common/JavaVMTypes"
        registerGenModelFile = "platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel"
        
        platformUri = "${runtimeProject}/.."
    }

    component = DirectoryCleaner {
        directory = "${runtimeProject}/src-gen"
    }

    component = DirectoryCleaner {
        directory = "${runtimeProject}/model/generated"
    }

    component = DirectoryCleaner {
        directory = "${runtimeProject}-ui/src-gen"
    }

    component = Generator {
        pathRtProject = runtimeProject
        pathUiProject = "${runtimeProject}-ui"
        pathTestProject = "${runtimeProject}-test"
        projectNameRt = projectName
        projectNameUi = "${projectName}-ui"
        language = {
            uri = grammarURI
            fileExtensions = file.extensions

            // Java API to access grammar elements (required by several other fragments)
            fragment = grammarAccess.GrammarAccessFragment {}

            // Generate java classes for Ecore models
            fragment = ecore.EMFGeneratorFragment {
                emfRuntimeVersion = "2.9"
            }

            // the serialization component
            fragment = serializer.SerializerFragment {}
            
            // a custom ResourceFactory for use with EMF
            fragment = resourceFactory.ResourceFactoryFragment {
                fileExtensions = file.extensions
            }

            // the following fragment generates an Antlr parser 
            fragment = parser.antlr.XtextAntlrGeneratorFragment {}

            // java-based API for validation 
            fragment = validation.JavaValidatorFragment {
                composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
            }

            // scoping API

            // exporting API
            fragment = scoping.ImportNamespacesScopingFragment {}
            fragment = exporting.QualifiedNamesFragment {}

            // testing API
            fragment = junit.Junit4Fragment {}

            // formatter API
            fragment = formatting.FormatterFragment {}

            // labeling API
            fragment = labeling.LabelProviderFragment {}

            // outline API
            fragment = outline.OutlineTreeProviderFragment {}
            fragment = outline.QuickOutlineFragment {}

            // java-based API for content assistance
            fragment = contentAssist.JavaBasedContentAssistFragment {}
            fragment = parser.antlr.XtextAntlrUiGeneratorFragment {}

            fragment = builder.BuilderIntegrationFragment {}

            // quickfix API
            fragment = quickfix.QuickfixProviderFragment {}

            // rename refactoring
            fragment = refactoring.RefactorElementNameFragment {}

            // provides a compare view
            fragment = compare.CompareFragment {
                 fileExtensions = file.extensions
            }

            // Xbase support
            fragment = types.TypesGeneratorFragment {}
            fragment = xbase.XbaseGeneratorFragment {}

            
            // Code generator
            fragment = generator.GeneratorFragment {
            }

            fragment = templates.CodetemplatesGeneratorFragment {}
        }
    }
}
Re: Cannot generate artifacts with Xtext 2.9.2 from DSL made with 2.5.4 [message #1726434 is a reply to message #1726431] Sun, 13 March 2016 14:13 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14404
Registered: July 2009
Senior Member
Btw why do you inherit from type but don't use it

Need professional support for Xtext, Xpand, EMF?
Go to: https://www.itemis.com/en/it-services/methods-and-tools/xtext
Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Cannot generate artifacts with Xtext 2.9.2 from DSL made with 2.5.4 [message #1726435 is a reply to message #1726434] Sun, 13 March 2016 14:18 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14404
Registered: July 2009
Senior Member
the following worked for me

(1) create a new xtext project

(2) use this slightly different grammar

grammar org.xtext.example.mydsl4.MyDsl with org.eclipse.xtext.common.Terminals
	hidden(WS, SL_COMMENT) 

import "http://www.eclipse.org/emf/2002/Ecore" as ecore


generate myDsl "http://www.xtext.org/example/mydsl4/MyDsl"

// Base elements allowed in the .wf file
Model:
    (
          (workflow=AvWFWorkflow)?
        & (libs+=AvWFLib)*
    );

// -----------------
// Language elements

AvWFLib:
    "lib" name=ID ("extends" baseLib=[AvWFLib])? "{"
        (
              ( stdparamdefs+=AvWFStdParamDef )*
            & ( actiondefs+=AvWFActionDef )*
            & ( allowdefs+=AvWFAllowDef )*
            & ( validatordefs+=AvWFValidatorDef )*
            & ( "script" scriptFileName=STRING ";" )?
        )
    "}";
    
AvWFStdParamDef:
    (doc=ML_COMMENT)?
    "stdparam" name=ID ":" type=Type ";";
    
AvWFActionDef:
    (doc=ML_COMMENT)?
    "action" name=ID actionContent=STRING ";";
    
AvWFAllowDef:
    (doc=ML_COMMENT)?
    "allow" key=STRING ";";

AvWFValidatorDef:
    (doc=ML_COMMENT)?
// TODO Doesn't work because "workflow" is a keyword and imports often contain it :-(
// See http://www.eclipse.org/forums/index.php/m/1015388/
//    "validator" name=ID ":" clsName=[ jvmTypes::JvmType | QualifiedName ] ";";
//    "validator" name=ID ":" clsName=[ jvmTypes::JvmParameterizedTypeReference | QualifiedName ] ";";
    "validator" name=ID clsName=STRING ";";

// AvWFWorkflow stuff
AvWFWorkflow:
    "workflow" name=ID "{"
        (
              ( "lib" lib=[AvWFLib] ";" )?
            & ( "i18n" (i18nBundles+=QualifiedName) (',' i18nBundles+=QualifiedName)* ";" )?
            & ( "start" startState=[AvWFState] ";" )?
            & ( "script" scriptFileName=STRING ";" )?
            & ( defaultValidator=AvWFValidator )?
            & ( states+=AvWFState )*
        )
    "}";

AvWFValidator:
    "validator" validator=[AvWFValidatorDef] ";";

// AvWFState stuff
AvWFState:
    "state" name=ID "id" id=INT (isViewable?="viewable")? (isImportable?="importable")? "{"
        (
              ("resKey" resKey=ResKeyValue ";")?
            //& (params+=AvWFParam)*
            & (targets+=AvWFTarget)*
        )
    "}";


// Param stuff
AvWFParam:
    AvWFStdParam | AvWFUserParam;
    
AvWFUserParam:
    "param" name=ID "=" value=STRING ";"; 
    
AvWFStdParam:
    "stdparam" param=[AvWFStdParamDef] ("=" value=AvWFParamValue)? ";";

AvWFParamValue:
    IntValue | StringValue | StatePointerValue;


// Target stuff
AvWFTarget:
    "target" state=[AvWFState] "{"
        (
              ("action" action=AvWFActionType ";")?
            & ("resKey" resKey=ResKeyValue ";")?
            & ("availableIf" available=AvWFBooleanGroovyCall ";")?
            & ("automaticIf" automatic=AvWFBooleanGroovyCall ";")?
            & ("preExecScript" preExecScript=AvWFGroovyCall ";")?
            & ("postExecScript" postExecScript=AvWFGroovyCall ";")?
            & (validator=AvWFValidator)?
            & (allowAll?="allowAll" ";")?
            & (allows+=AvWFAllow)*
            & (params+=AvWFParam)*
        )
    "}";

AvWFAllow:
    "allow" allow=AvWFAllowType ";";
    
AvWFAllowType:
    StringValue | AvWFAllowDef;

AvWFActionType:
    val=StringValue | actionDef=[AvWFActionDef];

AvWFBooleanGroovyCall:
    method=ID "(" (params=STRING)? ")";
    
AvWFGroovyCall:
    method=ID "(" (params=STRING)? ")";

// Data types    */
IntValue:
    val=INT;
    
StringValue:
    val=STRING;

StatePointerValue:
    state=[AvWFState];    
    
Type:
    PrimitiveType /* | ComplexType*/;
    
/*
ComplexType:
    "XXX";
*/

PrimitiveType:
    IntType | StringType | BooleanType | StatePointerType;
    
StatePointerType:
    {StatePointerType} "statepointer";
    
IntType:
    {IntType} "int";
    
StringType:
    {StringType} "string";
    
BooleanType:
    {BooleanType} "boolean";

ResKeyValue:
    resKey=QualifiedName;

QualifiedName:
    ID ("." ID)*;
    
terminal INT returns ecore::EInt: ('0'..'9')+;


this workflow

module org.xtext.example.mydsl4.GenerateMyDsl

import org.eclipse.xtext.xtext.generator.*
import org.eclipse.xtext.xtext.generator.model.project.*

var rootPath = ".."

Workflow {
	
	component = XtextGenerator {
		configuration = {
			project = StandardProjectConfig {
				baseName = "org.xtext.example.mydsl4"
				rootPath = rootPath
				runtimeTest = {
					enabled = true
				}
				eclipsePlugin = {
					enabled = true
				}
				eclipsePluginTest = {
					enabled = true
				}
				createEclipseMetaData = true
			}
			code = {
				encoding = "UTF-8"
				fileHeader = "/*\n * generated by Xtext \${version}\n */"
			}
		}
		language = StandardLanguage {
			name = "org.xtext.example.mydsl4.MyDsl"
			fileExtensions = "mydsl4"

			serializer = {
				generateStub = false
			}
			validator = {
				// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
			}
			parserGenerator = {
				antlrParam = "-Xconversiontimeout"
    			antlrParam = "5000"
    			options = {
    				memoize = true
    			}
			}
		}
	}
}



i dont have any memory setting for with workflow run config a use jdk8 64 bit.
(you may have a look at / play with the following memory settings as well)

-Xmx4G -XX:-UseGCOverheadLimit


(but please file a ticket anyway)


Need professional support for Xtext, Xpand, EMF?
Go to: https://www.itemis.com/en/it-services/methods-and-tools/xtext
Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Cannot generate artifacts with Xtext 2.9.2 from DSL made with 2.5.4 [message #1726472 is a reply to message #1726435] Mon, 14 March 2016 08:37 Go to previous message
David Le Moing is currently offline David Le MoingFriend
Messages: 3
Registered: March 2016
Junior Member
Regarding your question "Btw why do you inherit from type but don't use it ", I cannot answer it. The guy who created the DSL left the company and was probably the only one able to answer it.

I did not apply your workaround correctly, that is why I did not work. This seems to solve the issue :
parserGenerator = {
    antlrParam = "-Xconversiontimeout"
    antlrParam = "5000"
    options = {
        memoize = true
    }


I created a ticket for the issue : https://bugs.eclipse.org/bugs/show_bug.cgi?id=489523

Thanks for your help.
Previous Topic:Xtext web editor -- how to deploy?
Next Topic:Xtext Validation Error Markers
Goto Forum:
  


Current Time: Fri Dec 09 14:13:42 GMT 2022

Powered by FUDForum. Page generated in 0.02445 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top