Теория, примеры обратимых парсеров? - PullRequest
4 голосов
/ 19 марта 2009

Кто-нибудь знает о примерах и теории парсеров, которые возьмут (может быть) абстрактное синтаксическое дерево и произведут код, а не наоборот. Математически, по крайней мере, интуитивно, я считаю, что функция code-> AST обратима, но я пытаюсь найти работу / примеры этого ... помимо обычных ресурсов, таких как книга Дракона и тому подобное. Есть идеи?

Ответы [ 11 ]

0 голосов
/ 19 марта 2009

Я не знаю, где можно найти много о теории, но boost :: spirit 2.0 имеет и ци (парсер), и карму (генератор), разделяющие один и тот же базовый структура и грамматика, так что это практическая реализация концепции.

Документация на стороне генератора все еще довольно тонкая (spirit2 был новым в Boost 1.38 и все еще находится в бета-версии), но есть несколько примеров кода кармы вокруг, и AFAIK библиотеки находятся в рабочем состоянии, и есть по крайней мере, некоторые примеры доступны.

...