Наша грамматика позволяет пользователю указывать тег либо по идентификатору (понятное имя), либо по индексу через редактор.Фрагмент грамматики выглядит следующим образом:
tagindex
: DOLLARDOLLAR 'TAGINDEX' ASSIGN tagid=INT DOLLARDOLLAR
;
// A tag is either an ID or an INDEX
tag
: ID
| tagindex
;
Мы используем правило tagindex, поскольку оно позволяет нам легко получать доступ к токену tagid (или да INT) в Listener (EnterTagindex) и Visitor (VisitTagindex),но это также означает, что пользователь может вводить пробелы между каждым токеном, так как наша грамматика пропускает пробелы.
Нам нужно, чтобы «tagindex» не принимал никаких пробелов, так что пользователь вынужден вводить, например:
$$TAGINDEX=123$$
Какой лучший способ сделать это?