例题:试构造该文法的LALR(1)分析表

G[S]:

S→BB

B→aB|b

Step 1 拓广文法

避免冲突,构建E'指向开始符E

推出两个的拆开写

(0)S'→S

(1)S →BB

(2)B →aB

(3)B →b

Step 2 列项目【(带向前搜索符)项目集规范族(DFA图)】

点后面有东西的话
  • 如果是终结符【小写字母+符号:不能推出其他的】可以不管
  • 如果非终结符,列出所有非终结符项目

示例:

G[S]:

S→S;B|B

B→BaA|A

A→b(S)

Step 3 LALR(1)分析表
  • ACTION:终结符 【rx,以x产生式结束的(点在后面,找相同的拓广文法)&仅写向前搜索符中有的项;sx,到x项目集/状态】
  • GOTO:非终结符
  • 状态:项目集
状态 ACTION【终结符】
GOTO
a b # S B
0 S36 S47 1 2
1
acc
2 S36 S47 5
36 S36 S47 89
47 r3 r3 r3
5

r1
89
r2 r2 r2