【发布时间】:2012-12-22 23:06:46
【问题描述】:
我目前在空闲时间阅读《龙书》。书中指出,对于任何产生式 A -> a|b,语法是 LL当且仅当,以下两个条件适用。
1) FIRST(a) 和 FIRST(b) 不相交。这意味着它们不能都导出 EMPTY
2) 如果'b'可以导出EMPTY,那么'a'不能导出任何以FOLLOW(A)开头的字符串
我知道 LL 解析器一般不能处理左递归,但如果我做一个语法
S -> S(S) |空,
FIRST(S) = {'('} 和 FOLLOW(S) = {EOF}。这似乎与两条规则中的任何一条都不矛盾,我是否遗漏了什么?
提前谢谢你, 迈克尔
【问题讨论】:
标签: ll