为所有非终端创建FIRST和FOLLOW集

时间:2010-02-23 21:12:04

标签: parsing grammar

如果有人可以帮我解决FIRST和FOLLOW的规则,那就太棒了。

问题是计算以下语法中所有非终端的FOLLOW集

S ::= S b T a E ¦ a T b ¦ c T a c     R ::= E T ¦ a E

T ::= a c E ¦ epsilon                 E ::= R ¦ T a d ¦ epsilon

我已经阅读了创建跟随集的规则并理解了基本示例,但是当我为此编写FIRST(S)时,我对我应该做的事感到困惑

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

你在谈论FIRST1套装吗?您只需构建一组所有非终结符,这可能是在派生的开始。

考虑S的右侧:S的每个推导都以S,a,c开始,因此FIRST1(S)= FIRST1(S)联合{a,c} = {a,c}。