Функциональность Flex/Bison в PHP

Я ищу способ получить поддержку Flex/Bison (или Lex/Yacc, et al.) в PHP. В частности, я реализую логический синтаксический анализатор запросов в веб-интерфейсе и предпочитаю хранить все операции внутри PHP (в отличие от вызова парсера C или передачи данных на Python и т.д.).

Ответ 1

LIME Генератор Parser для PHP:

Завершить генератор парсера LALR (1) и (например, BISON или YACC), но это все сделано в PHP, а входная грамматика легче и удобнее обслуживать. Написать ваши действия в PHP. Создать PHP выходной код. Управляйте парсером с помощью PHP. Хотите сделать язык?


обновление:

Так как я написал выше, я вижу, что есть несколько других инструментов для генерации парсера, объявленных здесь:

http://wezfurlong.org/blog/2006/nov/parser-and-lexer-generators-for-php/

Не уверен, что они лучше поддерживаются в 2014 году, но я знаю Wez Furlong, он был оригинальным разработчиком PDO, и он очень хороший разработчик.