首页 文章资讯内容详情

找到以下语法的 FIRST & FOLLOW E → E + T|T T → T ∗ F|F F → (E)|id

2026-06-02 1 花语

解决方案

FIRST的计算

E→E+T|T

由于FIRST(E)不包含ε。

∴第一(E)=第一(E+T)=FIRST(E)

作为,E→T

∴第一(E)={FIRST(T)}(1)

T→T∗F|F

由于FIRST(T)不包含ε或T不导出ε。

∴FIRST(T)=FIRST(T∗F)={FIRST(T)}

作为,T→F(FIRST(T)={FIRST(F)}(2)

F→(E)|id

∴根据FIRST的规则(3)

第一(F)={(,id}(3)

来自(1),(2)&(3)

第一(F)={(,id}(3)

第一(T)={FIRST(F)}(2)

第一(E)={FIRST(T)}(1)

∴第一(E)=FIRST(T)=FIRST(F)={(,id}

FOLLOW的计算

E→E+T|T

T→T∗F|F

F→(E)|id

应用规则(1)跟随(E)={$}(1)