0

实现递归下降解析器是需要的第一个和后续集吗?如果是这样,您是否仍然可以在第一个和以下给出非唯一性的情况下构建递归下降?我很难区分递归下降和 ll(1) 解析。

谢谢。

4

1 回答 1

1

递归下降解析器不必是确定性的,即可以构造递归下降解析器,在有限常数前瞻之后无法决定选择哪种推导。

LL(k) 解析器以增量方式构造解析树,每个新字符都会扩展解析树。

非确定性递归下降解析器可以构建一棵解析树,在出现某个字符时将其完全丢弃。

不一定是 LL(k) 的递归下降示例:

  • 在 PROLOG 中解析(回溯)
  • Packrat Parsing(带记忆的回溯)
于 2015-03-07T16:54:36.933 回答