2013-06-29 35 views
2

我有一個相當愚蠢的問題。我使用xtext來定義一個簡單的dsl和Xpand來生成代碼。如何使用xtext和xpand togheter

現在我想用xpand來讀取我的dsl模型並生成代碼。我怎樣才能做到這一點?

我看了很多教程,說我可以通過嚮導創建一個新的xtext項目來簡單地做到這一點。然後,將創建以下項目:

org.xtext.example.domainmodel。 發電機

而且裏面,發電機看起來是這樣的:

  • SRC
    • 模型(放置DSL模型)
    • 模板(把模板的代碼生成器)
    • 工作流程(工作流程文件)

然後我簡單地運行工作流並從dsl文件生成代碼。這簡單直接。

我的問題是,當我創建一個新的xtext項目我沒有得到org.xtext.example.domainmodel。 發電機。項目。我只有以下四種:

org.xtext.example.domainmodel

org.xtext.example.domainmodel.sdk

org.xtext.example.domainmodel.tests

組織。 xtext.example.domainmodel.ui

那麼如何生成org.xtext.example.domainmodel。 生成器文件???

回答

0

你的意思是哪個教程? (請鏈接)並且他們真的談論發電機項目?淺談org.xtext.example.domainmodel.generator裏面org.xtext.example.domainmodel項目是通常的事情。

+0

我主要指Eclipse官方教程: HTTP:/ /help.eclipse.org/helios/index.jsp?topic=%2Forg.eclipse.xtext.doc%2Fhelp%2Fgetting-started-xpand.html 有一個項目生成名爲:org.eclipse.xtext.domainmodel。生成器包含以下軟件包:模型,模板,工作流程。 我能夠通過添加以下行的工作流程來創建發電機包: 片段= generator.GeneratorFragment自動注射{ \t \t \t \t generateMwe =真 我可以簡單的創建模型和模板包和降那裏有我的模型和模板? – panipsilos

+0

@panipsilos:只說清楚一點:你真的使用Helios嗎?或者你是否偶然鏈接到Helios幫助文件?因爲Xtext/Helios版本已經過時了,尤其是代碼生成的東西已經發生了很大的變化。這也可以解釋爲什麼你錯過了發電機項目 - 現代Xtext沒有。 –

+0

對,我正在使用Eclipse galileo。我注意到這個項目已經過時了。我妄想配置xtext的新版本與xpand協作,沒有任何運氣 我注意到現在xtext(至少在伽利略版本中)支持xtend開箱即用。所以我切換到xtend。 – panipsilos

0

大概與這個問題的原始人不相關:)但我有一個類似的問題,原因是在我的語法擴展xbase。

當延伸XBASE構建mwe2跳過發生器存根產生和使用其代替產生XBASE代碼生成(在ANTLR解析器,串行等)