Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [xtext-dev] Split grammar (multiple grammars) in 1 project?

Hi Albert,

please post any questions to the newsgroup/forum : 
http://www.eclipse.org/forums/index.php?t=thread&frm_id=27&;

Regards,
Sven

On Sep 24, 2010, at 7:15 PM, ALbert Mietus wrote:

> Hello All,
> 
> In a researchproject (called CC/Castle) I have two related grammars. Or actually two file-extensions:  *.Moat and *.Caste. The syntax that is allowed in a .Moat-file is a subset of that of that in a .Castle-file
> I want to use xtext to build a eclipse editor (and compiler) for those two filetypes. But I run into problems. So some advice is welcome.
> 
> I assumed I should create 1 project-set (ccCastle, ccCastle.ui, ccCastle.generator; as made by the xtext(1.0.1) project-wizzard. And define both grammars there. 
> 
> I started by the Moat one. And was able to build a editor for it. Great.
> But adding the Castle one didn't worked, at least not as I expected.  Writinge a Castle.xtext file is not a problem but getting it working in the project
> 
> I have a file starting with "grammar nl.softwareBeterMaken.ccCastle.Castle with nl.softwareBeterMaken.ccCastle.Moat" . This seams to work, as the rules that are "inherited" form the Moat.xtext file a recognized.
> To compile it, I copied the file "GenerateMoat.mwe2" to "GenerateCastle.mwe2" and replaced the strings 'moat' to 'castle'. I was able to run that file as MWE2-workflow. But it doesn't really work. I tried several
> alternatives (including importing the Moat.xtext file instead of the with statement). and all other things I could think of. Nothings seams to work ..
> 
> Some details/errors
> * PROBLEM: AbstractCastleProposalProvider can not resolved to a type  (CastleProposalProvider.java)
> * PROBLEM: The import nl.softwareBeterMaken.ccCastle.ui.contentassist.AbstractCastleProposalProvider cannot be resolved (CastleProposalProvider.java)
> * PROLEM: Package 'nl.softwareBeterMaken.ccCastle.castle.impl' does not exist in this plug-in	(MANIFEST.MF)
> * BUILD ERROR: org.eclipse.emf.mwe.core.WorkflowInterruptedException: The generated EPackage references an external EPackage, but 'referencedGenModels' hasn't been registered.
> 	See below for full log.
> 
> Now I'm wondering: is it possible to define two extensions/grammars in 1 project? Or did I change so many items, Eclispe is out of sync (I see some java file appearing in src/ too. Is that correct, should they be in src-gen?) Are I mad?
> 
> 
> Any advice is welcome. Please ask for details when needed.
> 
> Note: I'm not really a java-expert, nor a Eclipse-guru. But I assume I don't have to, to design a language. 
> I do no about languages, compilers parsers and stuff.  I did use yacc/bison, C and Emacs in the past. I assume that would to to..
> 
> 
> --Groetjes
> ALbert Mietus
>   Send prive mail to:          ALbert at ons-huis dot net
>   Don't send spam mail!
>   http://albert.mietus.nl	http://SoftwareBeterMaken.nl
> 
> 
> Console log
> 0    [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering platform uri '/Users/albert/work/CC.Castle'
> 956  [main] INFO  ipse.emf.mwe.utils.DirectoryCleaner  - Cleaning /Users/albert/work/CC.Castle/nl.softwareBeterMaken.ccCastle/../nl.softwareBeterMaken.ccCastle/src-gen
> 966  [main] INFO  ipse.emf.mwe.utils.DirectoryCleaner  - Cleaning /Users/albert/work/CC.Castle/nl.softwareBeterMaken.ccCastle/../nl.softwareBeterMaken.ccCastle.ui/src-gen
> 1157 [main] INFO  ipse.xtext.generator.LanguageConfig  - generating infrastructure for nl.softwareBeterMaken.ccCastle.Castle with fragments : ImplicitRuntimeFragment, ImplicitUiFragment, GrammarAccessFragment, EcoreGeneratorFragment, ParseTreeConstructorFragment, ResourceFactoryFragment, XtextAntlrGeneratorFragment, JavaValidatorFragment, ImportNamespacesScopingFragment, QualifiedNamesFragment, BuilderIntegrationFragment, FormatterFragment, LabelProviderFragment, TransformerFragment, OutlineNodeAdapterFactoryFragment, QuickOutlineFragment, QuickfixProviderFragment, JavaBasedContentAssistFragment, XtextAntlrUiGeneratorFragment
> org.eclipse.emf.mwe.core.WorkflowInterruptedException: The generated EPackage references an external EPackage, but 'referencedGenModels' hasn't been registered.
> 	at org.eclipse.xtext.generator.ecore.EcoreGeneratorFragment.checkGenModelExists(EcoreGeneratorFragment.java:222)
> 	at org.eclipse.xtext.generator.ecore.EcoreGeneratorFragment.proxifyExternalReferences(EcoreGeneratorFragment.java:214)
> 	at org.eclipse.xtext.generator.ecore.EcoreGeneratorFragment.generate(EcoreGeneratorFragment.java:158)
> 	at org.eclipse.xtext.generator.CompositeGeneratorFragment.generate(CompositeGeneratorFragment.java:81)
> 	at org.eclipse.xtext.generator.LanguageConfig.generate(LanguageConfig.java:69)
> 	at org.eclipse.xtext.generator.Generator.generate(Generator.java:296)
> 	at org.eclipse.xtext.generator.Generator.invokeInternal(Generator.java:106)
> 	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:31)
> 	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
> 	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:80)
> 	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)
> 10715 [main] INFO  or.validation.JavaValidatorFragment  - executing generate for org.eclipse.xtext.generator.validation.JavaValidatorFragment
> 14802 [main] INFO  .emf.mwe2.runtime.workflow.Workflow  - Done.
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> xtext-dev mailing list
> xtext-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/xtext-dev



Back to the top