有人能推荐一个好的PHP解析类吗?

有人能推荐一个好的PHP解析类吗?,php,parsing,Php,Parsing,我需要一个类,最好是用PHP、C#或Python编写的,可以解析PHP并返回令牌树。有人能推荐一个好的、准确的吗?让PHP使用一个本机函数来实现这一点:我认为它不是树,只是一个令牌流。原始请求是针对树的。另一方面,我不确定解析器是否有内部树。可能只是一台状态机。当然,在一个php块中打开一个括号并在另一个块中关闭它无助于生成树。我想,它可能会使用跳过标记。构建一个OO树并不难,它接受标记数组并将其转换为对象树(基本上,在块开始时创建一个新对象并将解析交给它,然后在块完成后将解析交回)。@ircm

我需要一个类,最好是用PHP、C#或Python编写的,可以解析PHP并返回令牌树。有人能推荐一个好的、准确的吗?

让PHP使用一个本机函数来实现这一点:

我认为它不是树,只是一个令牌流。原始请求是针对树的。另一方面,我不确定解析器是否有内部树。可能只是一台状态机。当然,在一个php块中打开一个括号并在另一个块中关闭它无助于生成树。我想,它可能会使用跳过标记。构建一个OO树并不难,它接受标记数组并将其转换为对象树(基本上,在块开始时创建一个新对象并将解析交给它,然后在块完成后将解析交回)。@ircmaxwell:是的,你可以得到一棵树,以这种方式使用代币。您可以定义许多具有任意内部节点的树,这些节点的叶子恰好是来自token\u get\u all的标记。但是拥有这样的树有什么意义呢(如果它不是某种解析树的话)?基本上,我要做的是尝试编写自己的PHP格式化程序。然而,当我探索我的选择时,我意识到我可能不需要一棵树。你所说的“标记树”是什么意思(我知道这不是一个标准术语)?你是说一个与PHP语法匹配的具体解析树吗?你是说抽象语法树吗?