Для чего используется многоточие (пустая строка) в грамматике Treetop (PEG)? - PullRequest
1 голос
/ 12 января 2012

Веб-сайт Treetop дает следующее объяснение, которое я не понимаю

Многоточие Пустая строка совпадает в любой позиции и не требует ввода.Это полезно, когда вы хотите обрабатывать отдельный символ как часть последовательности, например, когда альтернативное правило будет обрабатываться с использованием общего кода.

rule alts (foo bar / baz '') {def value elements.отображение {| е |e.text_value} end} end

когда полезно обрабатывать символ как часть последовательности?Кто-нибудь может привести значимый пример этого?

1 Ответ

0 голосов
/ 29 февраля 2012

Я не знаком с Treetop. Из примера может показаться, что ( foo bar / baz '' ) выдаст либо ['foo', 'bar'], либо ['baz', ''].

Если вы удалите многоточие, вы получите либо ['foo', 'bar'], либо просто 'baz' (без последовательности / списка / массива).

...