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