我正在寻找一种方法来获得Flex / Bison(或Lex / Yacc等)在
PHP中的支持.具体来说,我在Web UI中实现了一个布尔查询解析器,而且希望将所有操作都保留在PHP内(而不是调用C语法分析器,或将其传递给
Python等).
LIME解析器生成器PHP:
Complete LALR(1) parser generator and
engine (like BISON or YACC) but it’s
all done in PHP,and the input grammar
is easier and more maintainable. Write
your actions in PHP. Generate PHP
output code. Drive your parser with
PHP. Wanna make a language?
更新:
自从我写了上面的内容之后,我看到有一些其他的解析器生成工具,在这里宣布:
http://wezfurlong.org/blog/2006/nov/parser-and-lexer-generators-for-php/
不知道2014年是否有更好的维护,但我知道Wez Furlong,他是PDO的原始开发人员,他是一个非常好的开发人员.