tomita-parser icon indicating copy to clipboard operation
tomita-parser copied to clipboard

Конечное количество возможных повторений терминалов

Open KotIva opened this issue 3 years ago • 4 comments

Всем привет. Возможно ли каким-то образом определить минимальное и максимальное количество возможный повторений терминала в цепочке по аналогии с AnyWord<wff=/[1-2]?[0-9]{1,3}/> , здесь указано число повторений цифр [0-9] от 1 до 3 раз.

KotIva avatar Oct 13 '21 07:10 KotIva

Сделать точно как в регулярках нельзя. Есть ограничение count , но оно только ограничивает количество терминалов сверху.

victorbocharov avatar Oct 13 '21 13:10 victorbocharov

А можете привести пример как это выглядит в грамматике и как будет работать?

KotIva avatar Oct 14 '21 08:10 KotIva

Пример для count есть в документации. Я его ни разу не использовал. Чтобы было ограничение и сверху и снизу можно сделать вот так ({1,3}):

X -> A | A A | A A A ;

victorbocharov avatar Oct 14 '21 10:10 victorbocharov

Ладно, понял, спасибо.

KotIva avatar Oct 14 '21 10:10 KotIva