我在理解 FOLLOW 函数时遇到了一些问题。我无法计算遵循语法的功能,这不好。我尝试练习来理解这个功能,特别是这个练习,我有这个语法:
S -> E
E -> T E'
E' -> + T E' | 减 T E' |
T -> F T'
T' -> * F T' |
F -> 标识 | ( F'
F' -> E) | n)
以下是跟随函数的计算结果:
新元
E), $
E'), $
T +, 减号, ), $
T' +, 减号, ), $
F *, +, 减号, ), $
F' *, +, 减号, ), $
我真的不明白为什么 FOLLOW(T)=FOLLOW(T') = { +, minus, ), $ } 在我给出的语法中,终端符号加号和减号永远不会出现在 T 或 T' 的右侧因此,如果有人可以向我解释这一点,那就太好了