(E) Разбор BNF в XML
Существует ли какой-либо (E)BNF-парсер, способный генерировать XML-деревья AST?
Перефразируя: какой самый быстрый способ скомпилировать (E)BNF-определенный язык в своего рода XML?
Бонус: использование Javascript:-)
2 ответа
Решение
Мне кажется, что лучше всего использовать AntLR и интерфейс StringTemplate. Он также поддерживает цель JavaScript.
Не бесплатно, но генерирует XML: инструментарий реинжиниринга программного обеспечения DMS. Доступно с различными предопределенными определениями языка (C, C++, C#, Java, COBOL, Javascript, XML, ...).
Вопрос в том, что вы будете делать с этим? Если вы серьезно обрабатываете некоторые языки, вам нужно гораздо больше, чем просто AST (почти всегда вам нужна таблица символов).