我知道之前有人提出过关于PHP中Lex和Yacc的问题(链接),但那是一年前的事情。
现在是否有成熟的PHP解析器生成器呢?我的搜索结果显示以下几个,你对它们有什么看法或者是否有其他的建议?
- code.google.com/p/antlrphpruntime/ : ANTLR PHP版本,但它似乎还处于beta测试阶段,需要进行很多工作。优点是可以使用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。
StringTemplate
选项:与得到适当支持的目标相比,你将严重缺乏ANTLR的大部分功能!但是,嘿,如果对你来说足够了,当然,你应该尝试一下!只是看起来你正在问一个你已经知道答案的问题。 - Bart Kiers