我在用着 聚乙二醇 为简单语法创建解析树。该树使用列表和元组来表示。这是一个例子:

[('command',
  [('directives',
    [('directive',
      [('name', 'retrieve')]),
     ('directive',
      [('name', 'commit')])]),
   ('filename',
    [('name', 'f30502')])])]

我的问题是此时我该怎么办?我知道很大程度上取决于我想要做什么,但我无法找到太多有关使用/使用解析树的信息,只能创建它们。有人有我可能使用的参考资料吗?

感谢您的帮助。

有帮助吗?

解决方案

CST(具体语法树)很难使用 一些原因. 。因此,它们通常会转换为 AST(抽象语法树)以进行进一步处理(同一篇文章中有详细信息)。例如, Python编译器 (将 Python 源代码转换为 Python VM 字节码的组件)将 CST 转换为 AST 作为其工作的一部分。

现在,这确实很大程度上取决于您的最终目标。你在解析什么?你想用它做什么?如果您要重新创建经典编译流程,转换为 AST 可能是一个好方法。否则,您可能会发现 CST 就足够了 - 这完全取决于您的需要。

其他提示

我们有一个社区委员会对周边pyPEG这些问题的支持。你可以在这里找到: https://community.fdik.org/board/show / 2 / pypeg /

此致, VB。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top