编译原理 FOLLOW集方法:E → TE’E’→ +TE’|εT→ F T’T’→ *F T’|εF → (E)|id——————————————为什么:FOLLOW(F)= {+,*,),$}不是应该中有{*,
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 10:41:41
![编译原理 FOLLOW集方法:E → TE’E’→ +TE’|εT→ F T’T’→ *F T’|εF → (E)|id——————————————为什么:FOLLOW(F)= {+,*,),$}不是应该中有{*,](/uploads/image/z/11017302-6-2.jpg?t=%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86+FOLLOW%E9%9B%86%E6%96%B9%E6%B3%95%EF%BC%9AE+%E2%86%92+TE%E2%80%99E%E2%80%99%E2%86%92+%2BTE%E2%80%99%7C%CE%B5T%E2%86%92+F+T%E2%80%99T%E2%80%99%E2%86%92+%2AF+T%E2%80%99%7C%CE%B5F+%E2%86%92+%EF%BC%88E%EF%BC%89%7Cid%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E4%B8%BA%E4%BB%80%E4%B9%88%EF%BC%9AFOLLOW%EF%BC%88F%EF%BC%89%3D+%7B%2B%2C%2A%2C%EF%BC%89%2C%24%7D%E4%B8%8D%E6%98%AF%E5%BA%94%E8%AF%A5%E4%B8%AD%E6%9C%89%7B%2A%2C)
编译原理 FOLLOW集方法:E → TE’E’→ +TE’|εT→ F T’T’→ *F T’|εF → (E)|id——————————————为什么:FOLLOW(F)= {+,*,),$}不是应该中有{*,
编译原理 FOLLOW集
方法:
E → TE’
E’→ +TE’|ε
T→ F T’
T’→ *F T’|ε
F → (E)|id
——————————————
为什么:
FOLLOW(F)= {+,*,),$}
不是应该中有{*,
编译原理 FOLLOW集方法:E → TE’E’→ +TE’|εT→ F T’T’→ *F T’|εF → (E)|id——————————————为什么:FOLLOW(F)= {+,*,),$}不是应该中有{*,
因为有:
T→ F T’
T’→ *F T’
所以FIRST(T')是FOLLOW(F)的子集.所以 * 是FOLLOW(F)中的元素.
因为有:
T→ F T’
T’→ε
所以FOLLOW(T)是FOLLOW(F)的子集.
因为有:
E’→ +TE’
所以FIRST(E‘)是FOLLOW(T)中的子集.所以FIRST(E‘)是FOLLOW(F) 中的子集.
因为有:
E’→ +TE’
所以+是FIRST(E’)中的元素,所以+是FOLLOW(F)中的元素.
因为有:
E’→ ε
E → TE’
所以有:
FOLLOW(E)是FOLLOW(T)子集.前面有所以FOLLOW(T)是FOLLOW(F)的子集.所以有
FOLLOW(E)是FOLLOW(F)的子集,
由F → (E)|id
知 ) 是FOLLOW(E)的元素.所以 ) 是FOLLOW (F)的元素.
因为E是开始符号,所以有 $ 是FOLLOW(E)中的元素,所以 $ 是FOLLOW(F)中的元素.
综上所述:
FOLLOW(F)= {*,+,),$}