[
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