【发布时间】:2015-02-21 07:06:24
【问题描述】:
假设我有一个简单的 Xtext 规则
Hello: "Hello" name=STRING "!";
但除了name EAttribute,我的(以前存在的)EClass Hello 也有一个类型为EString 的EAttribute source(或枚举类型,但现在让我们假设一个EString) .
此字段不应在 DSL 本身中表示(因此,它在某种程度上是瞬态)。相反,当 Xtext 解析器读取和实例化对象时,我希望将此字段设置为 "Xtext"。 (我还有其他方法可以创建 Hello 的实例,我为其设置了其他值)。
是否可以在我的Hello: 规则中添加自动设置source 值的内容?还是我必须在某处拦截解析器?
我在 Xtext 语法中找到了一些关于“动作”的注释,我想,可能类似于
Hello: { current.source = "Xtext" } "Hello" name=STRING "!";
可以解决问题,但似乎不允许此类行为...
【问题讨论】:
标签: java xtext eclipse-emf emf