parsing - 计算语法的 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, $}
。为什么?
解决方案
推荐阅读
- excel - 创建数据透视到总和后,有没有办法对数据透视图最小值、最大值和平均值进行透视?
- c# - NHibernate:如何使用带有本机 SQL 的 CreateSQLQuery 返回标量值?
- r - 在数据框列表中,计算满足条件的数据框的比例
- javascript - 如何重构一段代码不使用异步函数
- python - Pandas:插入数据框并替换值
- c# - 如何从列表中分离一个变量,它从 C# 中获取它的值
- swift - SwiftUI:navigationBarTitle 的自定义颜色?
- elasticsearch - Agg 只对 elasitcsearch 查询中的嵌套对象计数一次
- java - 如何以 Graphics 作为参数调用 void
- javascript - 列表的javascript笛卡尔积