我正在寻找为LL(1)语法构建一个解析表,这一切都有意义吧?
跟随设定接缝冲突的规则。
•对于每个生产X→αAβ,将FIRST(β) - {€}放在FOLLOW(A)中 •如果€在FIRST(β)中,则将FOLLOW(X)置于FOLLOW(A)
他们是规则1和2(3不是问题)。
如果该生产规则尚未符合规则1的条件,您如何实施规则2?
有人可以解释哪条规则适用于哪里?
答案 0 :(得分:1)
第一条规则说你把所有东西都放在FIRST(β)中,除了epsilon,如果跟随集合在A的跟随中包含它.ε不应该存在,因为A跟随后是不合法的什么都没有。
第二条规则说,如果β可以是epsilon,那么跟随X的所有东西也是A的合法跟随,因为β可以从任何东西得到。
规则并不相互排斥。您需要在每个生产中应用所有规则,这与生产符合规则1的情况不同,然后您不运行规则2.您将运行所有规则,直到FOLLOW设置稳定并且不再添加任何内容。