1

当我在解析树中属性的循环依赖的上下文中遇到以下行时,我正在研究“编译器:Aho、Ullman、Sethi 和 Lam 的原则、技术和工具”中的语法定向定义:

在计算上很难确定给定 SDD 可能必须转换的任何解析树中是否存在任何循环。(部分:5.1.2)

同样在http://cs.nyu.edu/courses/fall12/CSCI-GA.2130-001/lecture8.pdf中提到

检测周期具有指数时间复杂度

但是有 Tarjan 的强连通分量算法,可以在 O(E+V) 中找到循环。那么为什么上述来源与此相矛盾呢?

谁能告诉我我错过了什么?

4

1 回答 1

2

它是O(E+V)在某个解析树中找到一个循环。但这不是问题。问题是

确定给定 SDD 可能必须翻译的任何解析树中是否存在任何循环。(强调补充)。

这是一个比较困难的问题。

于 2014-04-29T04:45:17.860 回答