求出所有文法符号的FIRST集合算法
1. 若X ∈ Vt,则FIRST(X)={X},
2. 若X ∈Vn,并且有产生式 X→a ,则a ∈ FIRST(X)
3. 若X ∈Vn, 且有产生式X→ε,则ε∈FIRST(X).
4. 若X ∈Vn, 且有产生式X→Y1Y2….Yn。当Y1,Y2,…..,Yi-1都 能推出ε, (1<=i<=n), 而Yi推不出ε,则FIRST(Y1)--{ε},FIRST(Y2)--{ε},……,FIRST(Yi-1)--{ ε}, FIRST(Yi) 都属于 FIRST(X)。
5. 当4中所有的 Yi都能推出ε,(i=1,2,….n),则
FIRST(X)=FIRST(Y1) ∪ FIRST(Y2) ∪…….∪ FIRST(Yn).
6. 反复使用以上5条规则,直到每个符号的FIRST集合不再增大为止。
1