Подтвердить что ты не робот

PHP Lexer и Parser Generator?

Я знаю вопрос Lex и Yacc в PHP задавали вопросы раньше, чем 1 год назад.

Есть ли новый зрелый генератор парсера PHP? Мои поиски привели меня к следующим: что вы думаете о них, других?

  • code.google.com/p/antlrphpruntime/: версия ANTLR PHP, но, похоже, это очень бета-версия, и я думаю, что есть много работы. Преимущество состоит в том, что я могу написать грамматику в инструменте ANTLR Works.
  • pear.php.net/package/PHP_ParserGenerator/docs/0.1.7/: Я попытался, но это кажется очень сложным, чтобы его можно было использовать с PHP_LexerGenerator.
  • sourceforge.net/projects/lime-php/: я не пробовал
  • bitbucket.org/wez/lemon-php/downloads: я не пробовал
  • bitbucket.org/wez/jlexphp/downloads: я не пытался

[Ответ:] Кто-то дал мне эту замечательную ссылку на старый вопрос: Есть ли альтернатива для flex/bison, которая может использоваться в 8-битных встроенных системах?

Эти сообщения позволили мне понять большую часть генерируемого кода ANTLR. Поэтому мой выбор остается прежним: ANTLR, хотя проект кажется мертвым. Я надеюсь, что мне не придется изменять код, поскольку я хотел бы сохранить его поддерживаемым.

Я подожду немного, чтобы увидеть, есть ли другой ответ, иначе я согласен с вашим советом продолжать использовать ANTLR

4b9b3361

Ответ 1

Я бы предложил попробовать ANTLR. ANTLRWorks может быть полезно.

Я написал генератор парсеров LL (1) самостоятельно в чистом PHP, так как я не знал о других решениях на основе PHP.

Ответ 2

Я портировал Jison, клон Bison в javascript, на php. Результатом является синтаксический анализатор, способный обрабатывать очень простой и очень сложный лексинг/синтаксический анализ. Сейчас это часть Jison, но есть несколько обновлений в мой вилка.

Файлы здесь. См. Readme на этой странице, вы одновременно создаете парсер javascript и php, способный делать то же или разные вещи.

Это стабильно, быстро, легко и интересно использовать.