【问题标题】:Comma separated variable list in XtextXtext中的逗号分隔变量列表
【发布时间】:2014-10-02 16:08:40
【问题描述】:

我有一个特定 DSL 的语法。这是一个 sn-p(用 Xtext 编写):

Vars: 'var' (vars += Var) 
Var: ID (',' ID) * ':' Type ';'

这是一个示例输入:

var
  a,b,c : int;
  d,e: bool;

我对 Xtend 自动代码生成选项非常感兴趣,并希望为每个 Variable 提供一个对象,存储它的 idtype强>。使用 Xtex 语法 synatx 我所能做的就是:

Var: ids+=ID (',' ids+=ID)* ':' type =[Type] ';'

意味着我可能在一个对象中拥有多个 ID。如何将每个 'a','b','c' 存储在一个对象中?

【问题讨论】:

    标签: dsl xtext xtend


    【解决方案1】:

    不可能将每个变量与其类型一起存储。您必须实现一些遍历模型以查找类型的逻辑。您可以使用 Var 本身的派生属性来执行此操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-03
      • 2017-07-10
      • 2018-05-27
      • 2011-08-13
      • 2012-04-19
      相关资源
      最近更新 更多