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
[email protected]
https://dev.eclipse.org/mailman/listinfo/xtext-dev

Reply via email to