Warnings lors de la génération de ma grammaire
Bonjour,
Je travaille sur une grammaire et j'ai des warnings qui interrompent sa génération.
Voici ma grammaire:[code]
Citation:
constraint is INVALID for context ImpliesExpression and type PrimitiveExpression
constraint is INVALID for context IffExpression and type PrimitiveExpression
constraint is INVALID for context EqualityExpression and type PrimitiveExpression
constraint is INVALID for context RelationalExpression and type PrimitiveExpression
constraint is INVALID for context AdditiveExpression and type PrimitiveExpression
constraint is INVALID for context MultiplicativeExpression and type PrimitiveExpression
constraint is null for context ActualParams and type ActualParam
2066200 [main] ERROR mf.mwe2.launch.runtime.Mwe2Launcher - Java heap space
java.lang.OutOfMemoryError: Java heap space
at org.eclipse.xtext.util.Tuples.create(Tuples.java:21)
at org.eclipse.xtext.util.formallang.PdaUtil.filterEdges(PdaUtil.java:440)
at org.eclipse.xtext.serializer.analysis.ContextTypePDAProvider.createPDA(ContextTypePDAProvider.java:178)
at org.eclipse.xtext.serializer.analysis.ContextTypePDAProvider.getContextTypePDA(ContextTypePDAProvider.java:188)
at org.eclipse.xtext.serializer.analysis.SyntacticSequencerPDAProvider.getPDA(SyntacticSequencerPDAProvider.java:604)
at org.eclipse.xtext.generator.serializer.SyntacticSequencerUtil.getAllPDAs(SyntacticSequencerUtil.java:59)
at org.eclipse.xtext.generator.serializer.SyntacticSequencerUtil.getAllAmbiguousTransitions(SyntacticSequencerUtil.java:79)
at org.eclipse.xtext.generator.serializer.SyntacticSequencerUtil.getAllAmbiguousTransitionsBySyntax(SyntacticSequencerUtil.java:90)
at org.eclipse.xtext.generator.serializer.AbstractSyntacticSequencer.getFileContents(AbstractSyntacticSequencer.java:95)
at org.eclipse.xtext.generator.serializer.SerializerFragment.generate(SerializerFragment.java:97)
at org.eclipse.xtext.generator.Xtend2GeneratorFragment.generate(Xtend2GeneratorFragment.java:66)
at org.eclipse.xtext.generator.Xtend2GeneratorFragment.generate(Xtend2GeneratorFragment.java:59)
at org.eclipse.xtext.generator.CompositeGeneratorFragment.generate(CompositeGeneratorFragment.java:92)
at org.eclipse.xtext.generator.LanguageConfig.generate(LanguageConfig.java:113)
at org.eclipse.xtext.generator.Generator.generate(Generator.java:361)
at org.eclipse.xtext.generator.Generator.invokeInternal(Generator.java:128)
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:74)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35)
Quelqu'un saurait-il m'indiquer ce qui ne va pas ?
Merci d'avance pour votre aide.
Similarité de noms dans une grammaire
Bonjour,
Je propose de définir dans ma grammaire un "Property Type" exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| PropertyTypeDeclaration :
{PropertyTypeDeclaration} 'Property Type' name=ID ( ";" |"=" ("INT;" | "Long;" | "Double;" | "Float;"|"String;" | "Boolean;" | "Any;"
|'Enum' ( "{" ID ( ","ID )* "}" )* ";"
|'Set' "{""}" ";"
|"Set" '{' p=[PropertyTypeDeclaration]"}"";"
|'Sequence' ( "<"">" ) ";"
|'Sequence'"<" p=[PropertyTypeDeclaration ]">"";"
|'Record'"[" ID ( ","ID )* ":" p=[PropertyTypeDeclaration] ";" ( ID ( ","ID )* ":" p=[PropertyTypeDeclaration] ";" )* "]"";"
|'Record' ( "[""]" )? ";"
|Identifier=ID";"
))
; |
De plus quand je définit également un port Type j'ai besoin d'instancier des "property" de type "Property Type" comme le montre le bout de code:
Code:
1 2 3 4 5
|
PortTypeDeclaration : {PortTypeDeclaration} "Port Type" name=ID "= {}"
| "Port Type" name=ID "= {"(h+=PropertyDeclaration)*"}";
PropertyDeclaration : 'Property' name=ID ":" proper=[PropertyTypeDeclaration ]";"; |
Maintennat lorsque j'instancie un exemple y pas de probleme pour le mot cle "Property Type" mais quand je definit un port Type dont je veux mettre des "propriétés, ce dernier n'accepte pas le mot clé "property" tout court, le générateur attend toujours à ce que j'ajoute le mot Type Hors dans ma syntaxe j'en ai pas besoin. En revanche quand je modifie le mot clé property par un autre mot ça marche.
Que faire j'ai besoin de ces terminaux.
Merci.