Для чего используется многоточие (пустая строка) в грамматике 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' (нет последовательности / списка / массива).

Другие вопросы по тегам