Существуют ли основанные на PEG генераторы синтаксических анализаторов, которые поддерживают левую рекурсию? - PullRequest
0 голосов
/ 28 апреля 2011

Левая рекурсия представляется большой проблемой для многих генераторов синтаксического анализатора, которые построены на основе анализа рекурсивного спуска. Я ищу генератор синтаксического анализатора на основе PEG, который поддерживает его - на любом языке.

Ответы [ 2 ]

2 голосов
/ 02 мая 2011

Есть статья на эту тему, доступная здесь: http://tratt.net/laurie/research/publications/papers/tratt__direct_left_recursive_parsing_expression_grammars.pdf

Автор описывает несколько подходов для обработки леворекурсивных правил при разборе PEG / Packrat.

0 голосов
/ 22 марта 2015

Мой генератор синтаксических анализаторов AustenX (scratchy.nz/austen.php) поддерживает левую рекурсию (включая косвенную), где важен порядок опций (хотя я никогда не удосужился написать, как это работает). Это парсер Packrat в глубине души, но запоминание можно отбросить, и это не имеет значения.

...