0

我的语言有某些关键字,它们只接受特定长度范围的值(例如,5 到 10 个十进制数)。此 ID 正确:

KeyWord = 01234

这是不正确的:

KeyWord = 1234

我有一个规则;

KeyWord:
  'KeyWord' '=' INT+;

如何限制INT可以重复的次数?如果它是一种更像正则表达式的语法,这会容易得多

4

1 回答 1

2

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

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

于 2011-11-08T13:35:06.663 回答