FIRST集合和FOLLOW集合求法

F I R S T FIRST FIRST集合求法

  1. 对于形如 X → a … X \to a \dots Xa,则将 a a a添加进 F I R S T ( X ) FIRST(X) FIRST(X)
  2. 对于形如 X → ε X \to \varepsilon Xε,则将 ε \varepsilon ε添加进 F I R S T ( X ) FIRST(X) FIRST(X)
  3. 对于形如 X → B … X \to B \dots XB,则将 { F I R S T ( B ) − { ε } } \{FIRST(B) - \{\varepsilon\}\} {FIRST(B){ε}}添加进 F I R S T ( X ) FIRST(X) FIRST(X)

F O L L O W FOLLOW FOLLOW集合求法

  1. 对于文法的开始符号 S S S,将#放于 F O L L O W ( S ) FOLLOW(S) FOLLOW(S)
  2. 对于形如 A → α B β A \to \alpha B \beta AαBβ的产生式
    1. { F I R S T ( β ) − { ε } } \{FIRST(\beta) - \{\varepsilon \}\} {FIRST(β){ε}}放于 F O L L O W ( β ) FOLLOW(\beta) FOLLOW(β)
    2. 如果 ε ϵ F I R S T ( β ) \varepsilon \epsilon FIRST(\beta) εϵFIRST(β),则把 F O L L O W ( A ) FOLLOW(A) FOLLOW(A)放入 F O L L O W ( B ) FOLLOW(B) FOLLOW(B)
  3. 对于形如 A → α B A \to \alpha B AαB的产生式,把 F O L L O W ( A ) FOLLOW(A) FOLLOW(A)放入 F O L L O W ( B ) FOLLOW(B) FOLLOW(B)

即,如下图所示
FOLLOW集合求法示意图

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值