(1)first集 (2)follow集 ——利用到select集 (3)select集 ——利用到first、select集合 (4)构造自上而下分析表 —利用select集 (5)句子分析—利用LL(1)分析表,注意倒序入栈—符号栈是将表中查询到的产生式倒着写入,栈内只剩下 # 为止
状态 | ACTION | GOTO |
---|---|---|
0 | … | … |
额,,不太像回事,,再来一张表
(1)分析句子–使用LR文法表 初始化—步骤从0开始,状态栈存放一个0,符号栈存放一个# (2)LR(0)项目集规范族,(拓广文法S’,让开始的符号只出现在开头,) (3)LR(0)分析表的构造 ——利用项目集规范族 特点:整行都归约
SLR(1)分析表 ——利用项目集规范族、follow集 特点:有选择的归约,对输入符号属于 接受项目follow集合,执行归约,其它输入该移进的移进,不该移进归约的报错
LR(1)分析表 ——利用含搜索符的项目集规范族
LALR(1)分析表 ——利用同心项目集 特点:用来合并LR(1)状态,缩减空间
(最后,附上四种文法的关系)