首页 > 解决方案 > 计算语法的 First 和 Follow

问题描述

我正在尝试计算以下语法的 First 和 Follow :

S -> A B C D E
A -> a
A -> EPSILON
B -> b
B -> EPSILON
C -> c
D -> d
D -> EPSILON
E -> e
E -> EPSILON

我计算了它们并得到了First(S)={a,b,c}. 但是使用这个工具,说:First(S)= {a, ε, c, b}。为什么 epsilon 是其中的一部分First(S)?据我了解,它不应该在那里。是我的错误还是错误?万一这是一个错误。我可以使用其他工具来验证我的结果吗?如果这是我的错误,了解原因会很有帮助。打印屏幕:

在此处输入图像描述

我也得到了Follow(C)={d,e,$},但他们的结果是Follow(C)={c, d, $}。为什么?

标签: parsingll

解决方案


推荐阅读