我想知道如何用语法确定FIRST
E组:
E -> XYE | e
X -> x
Y -> y
任何人都可以给我一些指导吗?
答案 0 :(得分:3)
好吧,假设您从 E 开始,那么第一个终端是x通过 E → XYE 生产(从那时起) X 总是产生x)或者是通过 E →e生产。首先( E )= {x,e}。
这看起来非常简单......
答案 1 :(得分:0)
处理表格A - >的规则。 ...... x ... | ...... .... 作为两个规则A - > ...... x ...和B - > ... Y ...
形成最初包含形式E->的规则的集合S. ....
然后
Set a set P to empty.
Set a set F to empty.
Repeat until S is empty
Choose element of S, and call it R
If R is in P, remove R from S
Elsif R is of the form A -> b ...
then { add b to F,
add R to P,
remove R from S}
Else (R is the form A -> B ...)
then { place all rules of form B -> ... into S
remove R from S}
End
当循环终止时,F包含令牌 是第一个(F)。
这不考虑空制作。