如何获取代表xText中任何字符的终端
问题描述:
我正在使用Xtext开发DSL。这个DSL应该接受任何类型的代码。这意味着它应该接受任何角色。另外,我需要记录这些代码,而不会忽略它。有没有人知道这个正则表达式?我试图使用。*但它不起作用,因为它期望字符不是数字或字母。我甚至尝试使用“ - >”,但它也不起作用。如何获取代表xText中任何字符的终端
代码:
Param:
'param' value=Anything;
...
Instance:
component=[Component] name=ID
'call:' code=Anything;
应该怎样 “Antything” 是什么?
感谢
答
取决于你的东西是你可以尝试像
Model:
params+=Param*;
Param:
'param' value=Anything;
// this is a so called datatype rule
Anything :
(ID | INT | STRING | ANY_OTHER)+
;
什么停止此特定点什么呢?任何事情都停止了,下一个规则开始了吗? –
@ChristianDietrich对于我尝试使用“”的代码,但在编写第一个“,期待其他”之后,忽略了我可能写在其中的任何内容。对于参数,它是另一个参数或配置集的结尾,a}。 –
嗯,不知道如果切换到外部词法分析器和/或jflex,这是否可能很容易。你怎么知道一个配置集合结束?什么是允许的那种东西?真的是一切,或者像'STUFF:(ID | INT |“somekeyword”| STRING)+'这样的规则可以帮助 –