Xtext cardinallities

问题描述 投票:0回答:1

还有一种表达它的绝对值(如6)的方法。我现在以这种方式执行它,但这似乎不是应该的方式。预先感谢。

terminal DIGIT : ('0'..'9'|'a'..'f'|'A'..'F');
terminal COLOR_HEX : DIGIT DIGIT DIGIT DIGIT DIGIT DIGIT;  
terminal COLOR_HEX : DIGIT*6; <-- is there a way to achieve this?
hex xtext
1个回答
0
投票

当前(Xtext 2.19)没有这样的语法。 Xtext.xtext语法说明terminal规则:

TerminalToken returns AbstractElement:
    TerminalTokenElement cardinality=('?'|'*'|'+')?
;

TerminalTokenElement returns AbstractElement:
    CharacterRange | TerminalRuleCall | ParenthesizedTerminalElement | AbstractNegatedToken | Wildcard | ^EOF
;

非终止规则支持相同的基数。

因此您当前的解决方案很好。

© www.soinside.com 2019 - 2024. All rights reserved.