Знаете ли вы модуль синтаксического анализатора (написанный на Ruby, Python, Javascript ...), который, учитывая список токенов и EBNF -подобную грамматику (передается в виде простой строки),возвращает проанализированное дерево?Наиболее близким к этому я обнаружил SimpleParse , который является хорошей библиотекой, но, к сожалению, он использует одностадийный анализ (без токенизации).Если возможно, я бы предпочел не использовать библиотеки, в которых реализация связана с самим языком ( pyparsing , treetop , ...).
Я не являюсьбеспокоится о лексизировании / токенизации, потому что есть много доступных библиотек (и даже написать свою собственную довольно легко), но реализация парсера ENBF не совсем тривиальная задача.Я проверил вики Python LanguageParsing и протестировал некоторые из них безрезультатно (возможно, я упустил тот, который ищу, их так много ...)