【问题标题】:Array in Xtext without square bracketsXtext中没有方括号的数组
【发布时间】:2023-03-21 21:49:01
【问题描述】:

我想在 Xtext 的规则中实现一个数组,并使用 Xtend 模板生成代码。我已经检查了this Post,但问题是,生成器会自动将方括号添加到生成的输出中。

我的 Xtext 规则如下例所示:

Rule:
    'Rule' name=ID
    ('myarray' myarray+=DOUBLE(',' myarray+=DOUBLE)*)? &
    'end' 'Rule'
;

terminal DOUBLE returns ecore::EDouble:
    '-'? (("." INT) |
    (INT ("." (INT)?)? (("e" | "E") ("+" | "-")? INT)?))
;

当我通过 Xtend 生成时,例如使用值 1,2,3,输出为 [1,2,3],但我想跳过方括号并获得输出 1,2,3

这怎么可能?

【问题讨论】:

  • 您还应该显示生成器代码。

标签: arrays code-generation xtext emf xtend


【解决方案1】:

只需使用适当的方法输出列表

例如

'''«myarray.join(",")»'''

'''«FOR e : myarray SEPARATOR ","»«e»«ENDFOR»'''

【讨论】:

  • 有效!非常感谢! :)
猜你喜欢
  • 2021-10-06
  • 1970-01-01
  • 2020-04-29
  • 1970-01-01
  • 1970-01-01
  • 2019-01-13
  • 1970-01-01
  • 2011-07-05
相关资源
最近更新 更多