我知道的问题Lex and Yacc in PHP之前问过,但1年前。PHP Lexer和Parser Generator?
现在有没有新的成熟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/下载:我没有尝试
[答:] 有人给了我这个美妙的链接到一个老问题: Is there an alternative for flex/bison that is usable on 8-bit embedded systems?
这个帖子让我明白最生成的ANTLR代码。所以我的选择一直保持不变:ANTLR虽然项目似乎已经死了。我希望我不必改变代码,因为我想保持它的可维护性。
我会稍等一会,看看是否有另一种答案,否则我会接受你的建议使用ANTLR
如果您拥有PHP的属性语法,请尝试CoCo/R(ssw.jku.at/coco/)。我现在在工作中使用它,它工作得很好。 – xbonez
我不会使用code.google.com/p/antlrphpruntime:它的(AFAIK)没有被积极开发,它只支持大多数其他ANTLR目标支持的最低限度。这就是为什么ANTLR工具默认不包含它。对PHP_ParserGenerator也是一样:我不会去找它(没有太多的文档,而且这是一个被遗弃的项目)。其他3种工具对我来说也不熟悉:我建议你试试看。 –
@xbonez:我不是100%确定,但我不认为你了解我的需求。我需要生成一个用PHP编写的解析器来解析特定的语法(而不是解析php语言)。 CoCo/R看起来不错,但我找不到一个PHP生成器。 –