我正在寻找一款用PHP编写的语言解析器。
目标是读取自定义语言,而不是读取PHP代码。
基本上,我的想法是指定语言语法,给出代码片段,然后获得代表它的结构。接着我可以遍历该结构以执行代码片段。我相信这个结构将是AST(抽象语法树),但我不知道这是否是唯一的选项(我对解析器及其术语不太熟悉)。
我查看了Doctrine DQL解析器,但它似乎不是一款通用的语言解析器。
我正在寻找一款用PHP编写的语言解析器。
目标是读取自定义语言,而不是读取PHP代码。
基本上,我的想法是指定语言语法,给出代码片段,然后获得代表它的结构。接着我可以遍历该结构以执行代码片段。我相信这个结构将是AST(抽象语法树),但我不知道这是否是唯一的选项(我对解析器及其术语不太熟悉)。
我查看了Doctrine DQL解析器,但它似乎不是一款通用的语言解析器。
据说php有一个库可以进行词法分析和语法分析: http://php.net/manual/en/parle.examples.php 对于Windows系统,看起来你可以获取一个预编译的二进制文件。 http://php.net/manual/en/parle.installation.php 上面提到了可用版本:http://windows.php.net/downloads/pecl/releases/parle/