如何限制规则在XTEXT中重复的次数?

时间:2011-11-07 19:55:42

标签: eclipse eclipse-plugin eclipse-rcp xtext

我的语言有某些关键字只接受某个长度范围的值(例如,5到10个十进制数)。这个id正确无误:

KeyWord = 01234

这是不正确的:

KeyWord = 1234

我有一条规则;

KeyWord:
  'KeyWord' '=' INT+;

如何限制INT重复的次数?如果它是一个更像正则表达式的语法

,这将更容易

1 个答案:

答案 0 :(得分:2)

我会将其作为验证检查来实现,而不是试图将其纳入语法本身。见http://www.eclipse.org/Xtext/documentation/2_1_0/050-validation.php

这将导致更好的错误恢复和更好的错误消息。它甚至允许快速修复。