一 基本思路
- 消除左递归;
- 构造相应的FIRST、FOLLOW和SELECT集合;
- 判断、证明是(SLR1、LL1、LALR1)文法
- 构造预测分析表
- 输入串给出分析过程
二 具体方法
1. 消除左递归及提取左公因子
2. 求First、Follow、select集
- First、Follow集
- First集:非终结符对应产生式的第一个所有终结符的集合
- Follow集:非终结符对应产生式的后面紧跟着出现的终结符的集合
- 如何最快写出first集和follow集.
- select集
- select集:非终结符通过产生式可能产生第一终结符的集合
- 计算公式:
3. 求证LL1文法
- 方法1:select(B——>A)和select(B——>C)交集为空
- 方法2:画文法分析预测表时因为表中每个格子只有一条产生式
4. 画文法分析预测表
- 例图
- 非终结符通过产生式得到终结符
E 通过产生式得到id
5.输入字符分析
- 字符进栈的过程 类比 55=40+10+5
三 例题