我不知道用PHP编写的任何维护的解析器生成器.但是有一些用PHP作为目标语言用其他语言编写的解析器生成器.我个人使用的是kmyacc.有一个
PHP and Windows compatible fork.它的语法是用yacc格式编写的,可以使用以下命令编译为PHP:
原文链接:https://www.f2er.com/php/134136.htmlkmyacc -l -m %PARSER_PROTOTYPE_FILE% -p %NAME% %GRAMMAR_FILE%
Kmyacc已经为PHP提供了一个过程解析器原型文件,但我个人使用的是OOP based prototype的a modified version.
作为一个例子:This grammar get编译成this parser.(请注意,语法很大,这就是为什么生成的解析器有两千五百行.“正常”语法显然要小得多.)