3. 计算FOLLOW集
  ① 根据定义计算
  对文法中每一 A∈VN 计算 FOLLOW(A)
  (a) 设S为文法中开始符号,把{#}加入FOLLOW(S)中(这里"#"为句子括号)。
  (b) 若A→αBβ是一个产生式,则把FIRST(β)的非空元素加入FOLLOW(B)中。
  如果βε则把FOLLOW(A)也加入FOLLOW(B)中。
  (c) 反复使用(b)直到每个非终结符的FOLLOW集不再增大为止。
  现计算例5.5文法各非终结符的FOLLOW集。
  FOLLOW(S)={#}∪ FOLLOW(D)
  FOLLOW(A)=(FIRST(B) \{ε})∪ FOLLOW(S) ∪ FIRST(D)
  FOLLOW(B)=FOLLOW(S)
  FOLLOW(C)=FOLLOW(S)
  FOLLOW(D)=FOLLOW(B)∪FOLLOW(C)
  由以上最终计算结果得:
  FOLLOW(S)={#}
  FOLLOW(A)={a,#,c}
  FOLLOW(B)={#}
  FOLLOW(C)={#}
  FOLLOW(D)={#}