我的语言有某些关键字只接受某个长度范围的值(例如,5到10个十进制数)。这个id正确无误:
KeyWord = 01234
这是不正确的:
KeyWord = 1234
我有一条规则;
KeyWord:
'KeyWord' '=' INT+;
如何限制INT重复的次数?如果它是一个更像正则表达式的语法
,这将更容易答案 0 :(得分:2)
我会将其作为验证检查来实现,而不是试图将其纳入语法本身。见http://www.eclipse.org/Xtext/documentation/2_1_0/050-validation.php
这将导致更好的错误恢复和更好的错误消息。它甚至允许快速修复。