Для чего используется многоточие (пустая строка) в грамматике Treetop (PEG)?
Вопрос
На веб-сайте Treetop есть следующее объяснение, которое я не понимаю
<цитата>Многоточие Пустая строка соответствует любой позиции и не требует ввода.Это полезно, если вы хотите рассматривать один символ как часть последовательности, например, когда альтернативное правило будет обрабатываться с использованием общего кода.
правило alts (foo bar / baz '') { значение def elements.map {| e |e.text_value} конец } конец
когда полезно рассматривать символ как часть последовательности?Может ли кто-нибудь привести убедительный пример этого?
Решение
Я не знаком с Treetop.Из этого примера может показаться, что ( foo bar / baz '' )
будет генерировать или ['foo', 'bar']
, или ['baz', '']
.
Если вы удалите многоточие, вы получите либо общий кодовый код, либо просто общий кодовый код (без последовательности / списка / массива).