【问题标题】:How to develop a AST(Abstract Syntax Tree) for XPath?如何为 XPath 开发 AST(抽象语法树)?
【发布时间】:2013-11-24 09:31:55
【问题描述】:

谁能教我如何为 XPath 开发 AST(抽象语法树)? 完全糊涂了。 谢谢!

【问题讨论】:

  • 你到底想做什么?解析 XPath 并制作 XPath 的 AST ?或者使用 XPath 来遍历 AST(XML 几乎是直接的)?
  • 我想解析 XPath 并制作 XPath 的 AST。
  • 这与解析 Pascal 并希望获得 Pascal 的 AST 有何不同?如果你不能证明你有基本的概念并尝试做某事,那么没有人会教你任何东西。
  • 是的,我同意。我刚刚阅读了Compliers龙书的一些章节,并且了解了AST。现在我正在尝试使用 ANTLR 为 XPath 构建 AST。你觉得这是个好方法吗?

标签: xpath syntax tree abstract abstract-syntax-tree


【解决方案1】:

使用 ANTLR 是开始执行此操作的好方法。

但是:构建一些简单的东西,比如表达式解析器,first。这将确保您了解基础知识。你可能会找到几十个 ANTLR 的例子,我怀疑甚至在这里堆栈溢出。

在获得表达式语法和 AST 后,然后考虑 XPath。您会发现这要复杂得多,主要是因为 XPath 的定义是由一个委员会创建的,建立在另一个委员会的巨大 XML 结构之上。因此,您的问题将是了解如何使用解析器构建 AST,并且需要阅读这两个委员会为定义 XPath 而编写的所有内容。

【讨论】:

  • 非常感谢!我现在正在听从你的建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-23
相关资源
最近更新 更多