吉林大学:《编译原理》课程教学资源(PPT课件讲稿)LR(0)分析方法的不足

主要内容 句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

SLR(1)分析条件 LRSM中存在着状态 {A101°, ●·9 B1→B1·2a1r1 o多 ●。● B●arn} n nn FOllOw(A…⌒ Follow(An) }=
SLR(1)分析条件 ◼ LRSM0中存在着状态 { A1 →1 •,…,An →n •, B1→1 •a1 r1,…,Bn → n •an rn } Follow(A1 )… Follow(An ) {a1 ,…,an }=

SLR(1)文法的定义 SLR(1)文法的投影函数定义如下: r: Statelet×(rU{#)→2 TI(S,a) ReducejB→兀●∈S,a∈ Follow(B),B→兀∈P U(i在X→a·aB∈S且acⅤ then{Shi) C如果LRSM中的每个状态S,对任意a∈Vr 使得r(S,a)≤l,则称相应文法为SLR(1)文法
SLR(1)文法的定义 ◼ SLR(1)文法的投影函数 1定义如下: • 1:StateSet (VT∪{#})→2 • 1 (S,a) = {Reduce j |B→•S,aFollow(B),B→ P} ∪(if存在X→•aS且aVT then {Shift}) 如果LRSM0中的每个状态S,对任意 aVT, 使得| 1 (S,a)|1,则称相应文法为SLR(1)文法

SLR(1) Action表的构造 Ar(S, #=Shift Action( S, #)=Accept 若r(S,a)={ Shift且a≠# Action(S,a)= Shift AT(S,a)=Reduce j Action( S, a)=Reduce j AT(S, a)=0 Action(S, a)=Error
SLR(1)__Action表的构造 ◼ 若 1 (S,#)={Shift} Action( S, # )=Accept ◼ 若 1 (S,a)={Shift }且a# Action( S, a) =Shift ◼ 若 1 (S,a)={Reduce j} Action( S, a) =Reduce j ◼ 若 1 (S,a)= Action( S, a) = Error

SLR(1)GoT表的构造 GoTo(S,X)=S',当LRSM中有S8 GoTo(S,X)=eror,否则 合并的SLR(1)分析表,合并方法: Action'(s, a)=Shift i 当 Action'(s,a)=Shif且GoTo(S,a)= GoTO(s,X=S 当Go0(S,X)=S;且X∈VN
SLR(1)__GoTo表的构造 ◼ GoTo( S, X) = S , 当LRSM0中有S S ◼ GoTo( S, X) = error,否则 ◼ 合并的SLR(1)分析表,合并方法: Action( S, a) = Shift i , 当Action(S, a)= Shift且GoTo(S,a)=Si GoTo( S, X) = Si , 当GoTo(S,X)=Si 且XVN X

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
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)LL分析方法—自顶向下分析.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)自顶向下分析——递归下降法.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)文法例1.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第四章 文法与语法分析.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)有限自动机(Finite Automata).ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)正则表达式.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第三章 有限自动机和词法分析器.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第十章 目标代码生成.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第九章 中间代码优化.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第七章 动作文法和属性文法.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第六章 运行时的存储空间.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第二章 一个微小的编译器.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第一章 编译程序概述.ppt
- 吉林大学:《编译原理》课程教学资源(试题习题)2001 级试题(B).doc
- 吉林大学:《编译原理》课程教学资源(试题习题)2001 级试题(A).doc
- 吉林大学:《编译原理》课程教学资源(教学大纲).doc
- 《计算机硬件技术基础》课程教学资源(PPT课件讲稿,共八章).ppt
- 《软件制造工程》第五章 应用安装.ppt
- 《软件制造工程》第四章 测试工程(3/3).ppt
- 《软件制造工程》面向对象软件的测试.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)LR(1)分析方法.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)LALR(1)方法.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)简单优先分析方法.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)语义分析.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)符号表.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)类型表达式.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)程序的语义分析.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)执行体的语义分析.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第八章 中间代码生成.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)原子语句的中间代码.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)原子语句的中间代码.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)自底向上分析-LR分析概述.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)派生定理.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)LR(0)分析.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)总结.ppt
- 合肥工业大学:《Solidworks3d造型》课程教学课件(PPT讲稿)第1章 基础知识(主讲:胡延平).ppt
- 合肥工业大学:《Solidworks3d造型》课程教学课件(PPT讲稿)第2章 三维实体建模方法.ppt
- 合肥工业大学:《Solidworks3d造型》课程教学课件(PPT讲稿)第三章 草图绘制.ppt
- 合肥工业大学:《Solidworks3d造型》课程教学课件(PPT讲稿)第4章 零件建模的草绘特征.ppt
- 合肥工业大学:《Solidworks3d造型》课程教学课件(PPT讲稿)第5章 放置特征.ppt