主要内容 句SLR(1)分析方法
主要内容: SLR(1)分析方法
LR(0分析方法的不足 CLR(0)方法对文法的要求严格。 CLR(0)方法容易出现冲突状态
LR(0)分析方法的不足 LR(0)方法对文法的要求严格。 LR(0)方法容易出现冲突状态
个文法例 S→E#[1 E→E+T[2] E→T[3] T→T×P[4] T→P[5] P→id[6] P→(E)[7
一个文法例: ◼ GE: S→E # [1] ◼ E→E + T [2] ◼ E→T [3] ◼ T→T P [4] ◼ T→P [5] ◼ P→id [6] ◼ P→( E ) [7]
0 E S→·E#[1] s→E·# E→·T [3] T→·TxP[4 P P→·id[6] T→P● P→·(E)[7 id P→id● E→T T→T●xP T E→·E+T 8 T→·T×P E P→·id P→·id (E ● (E T T→T*P 图4553C的LRSM
图 4 . 5 . 5 . 3 G E 的LRSM 0 + EP id #+ P id ( T T id ( id E ( P ) 4 E→ T • T→ T • P 7 P→ id • 5 E→ E + • T T→ • T P T→ • P P→ • id P→ • (E) 3 T→ P • 4 S→ E • # E→ E • + T 1 S→ • E # [1] E→ • E+T [2] E→ • T [3] T→ • T P [4] T→ • P [5] P→ • id [6] P→ • (E) [7] 0 T→ T • P P→ • id P→ • (E) 8 T→ T * P • 9 E→ E+T • T→ T • P 11 P→ (E • ) E→ E • +T 12 P→(E) • 10 P ( T P → ( • E ) E→ • E+T E→ • T T→ • T P T→ • P P→ • id P→ • (E) 6 7 8 S→ E# • 2
如果某个状态有如下项目集: A→a·,B→β·,D→μ·dy},则存在 着归约-归约,归约-移入冲突 若用A→c●归约,则当前输入符应在A 的Foow集中 若用B→β·归约,则当前输入符应在B 的 Follow集 若移入,则当前输入符应为d
如果某个状态有如下项目集: { A → •, B → •, D→ • d },则存在 着归约-归约,归约-移入冲突 ◼ 若用A → •归约,则当前输入符应在A 的Follow集中 ◼ 若用B → •归约,则当前输入符应在B 的Follow集 ◼ 若移入,则当前输入符应为d