例题:试给出与G(A)等价的LL(1)文法G'(A),构造G(A')的LL(1)分析表

G[A]:

A→aAb'|a

B→Bb|d

Step 1 试给出与G(A)等价的LL(1)文法G'(A)

Step 2 LL(1)判断



Step 3 求First集&Follow集

Step 4 构造G[A']的LL(1)分析表

根据改造文法构造
改造文法中
  • 所有出现的终结符和#写进横行
  • 所有的非终结符写进列
  • 推出空串的式子写进Follow集的列里

a b 1 d #
A
A→aA'




A' A'→AB1


A'→ε
A'→ε
B


B'→bB'

B'
B'→bB'
B'→ε


改造文法:

A→aA'
A'→AB1|ε
B→dB

B'→bB'|ε

Step 5 给出输入串aad1#的分析过程


符号栈 当前输入符号 输入串
1 #A a ad1#
2 #A'a a ad1#
3 #A' a d1#
4 #1BA a d1#
5 #1bA'a a d1#
6 #1bA' d 1#
7 #1B d 1#
8 #1B'd d 1#
9 #1B' 1 #
10 #1 1 #
11 # #

将下述文法改造为LL(1)文法