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)

即,如下图所示
FIRST集合和FOLLOW集合求法_第1张图片

你可能感兴趣的:(FIRST集合和FOLLOW集合求法)