Как ограничить количество повторений правила в XTEXT? - PullRequest
0 голосов
/ 07 ноября 2011

Мой язык имеет определенные ключевые слова, которые принимают только значения определенного диапазона длины (скажем, от 5 до 10 десятичных чисел).Этот идентификатор правильный:

KeyWord = 01234

Это неверно:

KeyWord = 1234

У меня есть правило;

KeyWord:
  'KeyWord' '=' INT+;

Как ограничить количество раз, которое INT может повторять?Это было бы намного проще, если бы это был более похожий на регулярные выражения синтаксис

1 Ответ

2 голосов
/ 08 ноября 2011

Я бы реализовал это как проверку правильности вместо того, чтобы пытаться вписать это в саму грамматику.См. http://www.eclipse.org/Xtext/documentation/2_1_0/050-validation.php

Это приведет к лучшему восстановлению ошибок и улучшению сообщений об ошибках.Он даже позволяет быстро исправить.

...