SLR(1)分析方法.

Slides:



Advertisements
Similar presentations
导数 导数 一、主要内容 微分 第二章 习题课 二、典型例题. 求 导 法 则求 导 法 则 求 导 法 则求 导 法 则 基本公式 导 数 导 数 高阶导数 一、主要内容 微 分微 分 微 分微 分.
Advertisements

社区矫正与和谐社区的建设 —— 以社会工作为切入点 珠勒花 内蒙古农业大学 2014 年 6 月 27 日.
飲料備製 ( 作業十 ) 組員 : 9A0M0009 林昆樺 9A0M0026 李元盛 9A0M0031 林殷正 ( 組長 ) 9A0M0046 邱于倫 9A0M0048 林裕嘉 9A0M0054 巫紀樺 指導老師 : 葉佳聖.
三信家商「 105 學年度」 升學進路暨報名作業說明會 教務處實研組 教務處 實研組 日期︰ 104 年 10 月 19 日 時間: am 10:00~11:50 地點:教學行政大樓 7F 講堂.
(寫一篇有關求學道理的 文章訓示晚輩們) 為學一首示子姪 彭端淑.
第二章 中药药性理论的现代研究 掌握中药四性的现代研究 掌握中药五味的现代研究 掌握中药毒性的现代研究 了解中药归经的现代研究.
女 性 生 殖系 统 炎 症 致病的不利因素 易受肛门污染 邻近尿道 性交、分娩、宫腔操作易致 损伤及感染病原体 体内环境变化可菌群失调.
600年前,鄭和率領世界上最強大的艦隊,浩浩蕩蕩的駛入印度洋,展開一場「文化帝國」的海上大秀。
大洋洲.
2012年9月等级考试辅导 第二章 程序设计基础.
青岛国金财富投资管理股份有限公司 (青岛蓝海股权交易中心推荐机构会员、交易商会员,会员号:1063)
当代 国 际 关 系(案例6) 冷战时期美苏关系的演变.
34 府学胡同的文天祥祠,相传是南宋民族英雄文天祥当年遭囚禁和就义的地方,1376年明洪武九年建祠 。
歷史建築清水國小宿舍群修復工程 施工說明會
校园信息管理系统 河北科技大学网络中心 2000/4/10.
“炝虾”食用安全性的 初步研究 上海市吴淞中学生物与环境社团 责任者:李 胤 吴蓓莉 指导老师:张 治 许 沁.
2010年10月策略报告 分水岭确立 流动性持续推动资产价格上涨
證道: 我是羊的門,我是好牧人 講題:「耶穌說:”I Am”『我是…』」之(四) : 講員: 梁淑英牧師
高考文言文的整体阅读.
第 节 地球公转及其地理意义 基础导学 地球的公转.
习题与试题 认真复习,重点是掌握基本概念。基本概念掌握了,相当一部分试题的解就有了
案例練習-鑑定及需求評估 分組教師之考試版 (201002修訂).
徵收苗栗市福全段147、1588及文心段10、11地號等4筆土地之
植物之繁殖方法.
新設立營利事業 營利事業所得稅申報實務.
105年推甄及登記分發說明會 教務處 註冊組課務組.
讲 义 大家好!根据局领导的指示,在局会计科和各业务科室的安排下,我给各位简要介绍支付中心的工作职能和集中支付的业务流程。这样使我们之间沟通更融洽,便于我们为预算单位提供更优质的服务。 下面我主要从三方面介绍集中支付业务,一是网上支付系统,二是集中支付业务流程及规定等,
战 后 国 际 关 系 专题五:冷战时期美苏关系的演变 政治学与行政管理系.
复习 1. 注意最值与极值的区别. 最值是整体概念而极值是局部概念. 极大值可能小于极小值,极小值可能大于极大值.
中国人民公安大学经费管理办法(试行) 第一章总则 第四条:“一支笔” “一支笔”--仅指单位主要负责人。负责对本 单位的经费进行审核审批。
研究發展處 業務簡報 報 告 人:國立高雄餐旅大學 張明旭 研發長 中華民國105年4月14日.
汽车起重机 安全规程 三一汽车起重机械有限公司.
第2章 LR分 析 法 LR分析法是一种自下而上进行规范归约的语法分析方法,LR指“自左向右扫描和自下而上进行归约”。LR分析法比递归下降分析法、LL(1)分析法和算符优先分析法对文法的限制要少得多,对大多数用无二义的上下文无关文法描述的语言都可以用LR分析器予以识别,而且速度快,并能准确、及时地指出输入串的任何语法错误及出错位置。LR分析法的一个主要缺点是,若用手工构造分析器则工作量相当大,因此必须求助于自动产生LR分析器的产生器。
北京中兴荣投资顾问有限公司简介.
内部审计准则讲解
复习 1. 微分中值定理的条件、结论及关系 费马引理 拉格朗日中值定理 罗尔定理 柯西中值定理 2. 微分中值定理的应用 关键:
早会直通车 总930期 总公司个险业务部.
第三部分 动作与技能实验 实验一 反应时实验 实验二 反应时运动时实验 实验三 敲击速度实验 实验四 动作稳定性实验 实验五 手指灵活性实验
编译原理与技术 课程总结.
! 温故知新 上下文无关文法 最左推导 最右推导 自上而下 自下而上 句柄 归约 移进-归约冲突 移进-归约分析 递归下降预测分析
Part5语法分析 授课:胡静.
编译原理复习.
第八章 第一节 日本 邹旭丹 滨河中学初中部 湘教版地理初一年级.
行動研究就是一種行動性的研究,由行動者來進行研究,而不是由外於行動領域的學者與與科學家來進行,研究的問題也取自行動。
2.2 语法分析器生成器YACC 分析器的构造步骤: 产生式→识别活前缀的DFA→分析表(+驱动器) YACC概述
自上而下分析 4.4.
自上而下分析 4.4.
LR(1)分析方法.
非洲的人口悲劇: 盧安達的種族屠殺 報告者:Gs1805 林伃珊.
Part5语法分析 授课:胡静.
第五章 语法分析——自下而上分析 自上而下分析法(Top-down) 自下而上分析法(Bottom-up) 国防科技大学计算机系602教研室.
编译原理 第四章 语法分析—自上而下分析 编译原理.
语法分析 本章内容 语法分析器:把词法分析生成的词法单元流翻译成语法分析树(parse tree)
第五章 自底向上分析方法 LR(0)分析法.
售后维修技术指导与问题解析 -飞机类 韩亚军
时事报告杂志社版权所有,不得复制.
第五章 自底向上分析方法 LR(0)分析法 1 LR(K)分析法 第一个L表示:相应的语法分析将按自左至右的顺序扫描输入符号串;
考前总结 背景 必要性 作用 新旧版交替面临一些问题 从教学目标和要求说起 知识梳理 可能有助于提高考试成绩 或者让知识掌握得更好.
使徒行傳.
第7章 磁路与铁心线圈电路 7.1 磁场的基本物理量 7.2 磁性材料的磁性能 7.3 磁路及其基本定律 7.4 交流铁心线圈电路
模块六 汽油机燃料供给系 概 述 汽油机燃料供油系是发动机控制单元ECU依据进气量的多少、转速以及其他传感器参数,控制喷油器将定量的汽油喷入进气歧管,与经滤清器滤清后的新鲜空气混合后进入气缸,被点燃作功后,将燃烧产生的废气排至大气中。 电控燃油供给系统主要由传感器、电控单元(ECU)和执行器三大部分组成。
微信商城系统操作说明 色卡会智能门店.
第五章 自底向上分析方法 LR(0)分析法 1 LR(K)分析法 第一个L表示:相应的语法分析将按自左至右的顺序扫描输入符号串;
95年度高屏醫療網 以病人為中心之醫療照護— 以弱勢族群為重點 期末報告
花盆邂逅弹簧的传奇 胡 越 强 手机: QQ:
第四章 语法分析 南京大学计算机系 戴新宇
初二物理 1.4测量平均速度.
控制系统设计举例 戴连奎 浙江大学控制学院 2017/04/20.
有理数的乘方(二).
大綱 一.受試者之禮券/禮品所得稅規範 二.範例介紹 三.自主管理 四.財務室提醒.
Presentation transcript:

SLR(1)分析方法

例1:一个非LR(0)文法例: S→E $ [1] E→E + T [2] E→T [3] T→T  P [4] T→P [5] G[s]: S→E $ [1] E→E + T [2] E→T [3] T→T  P [4] T→P [5] P→id [6] P→( E ) [7]

状态 $ + × id ( ) # ... 7 R3 R3/ S8 11 R2 R2/ 状态 $ + × id ( ) # ... 7 R3 G[s]: S→E $ [1] E→E + T [2] E→T [3] T→T  P [4] T→P [5] P→id [6] P→( E ) [7] 状态 $ + × id ( ) # ... 7 R3 R3/ S8 11 R2 R2/ 状态 $ + × id ( ) # ... 7 R3 R3/ S8 S→  E $ [1] E→  E+T [2] E→  T [3] T→  TP [4] T→  P [5] P→  id [6] P→  (E) [7] E $ S→ E  $ E→ E  + T   1 2 + S→ E $    P id E→ E +  T T→  T  P T→  P P→  id P→  (E) 3 4 P + T→ P    ( T id P→ id    5 ( E→ T  T→ T   P 7 id T id E→ E+T  T→ T  P 11 P → (  E ) E→  E+T E→  T T→  TP T→  P P→  id P→  (E) 6   T→ T   P P→  id P→  (E) 8 8 E P→ (E  ) E→ E  +T 12 ( P ) ( T→ T * P  9 P T 7 P→(E)  10 4 GE 的LRSM0

LR(0)分析方法的不足 LR(0)方法对文法的要求严格。 LR(0)方法容易出现冲突状态。

{ A → , D→  d  },则存在移入-归约冲突 。 可以如下解决: 非LR(0)文法的原因 1、如果某个状态有如下项目集: { A → , D→  d  },则存在移入-归约冲突 。 可以如下解决: 若当前输入符在A的Follow集中,则应用A → 归约; 若当前输入符为d则应移入 。 而对当前输入符为d, d又 在A的Follow集中,则无法解决。

非LR(0)文法的原因(续) 如果某个状态有如下项目集: { A → , B → },则存在着归约-归约冲突 。 可以如下解决: 若用A → 归约,则当前输入符应在A的Follow集中 若用B → 归约,则当前输入符应在B 的Follow集 当前输入符应在A的Follow集中又在B 的Follow集 中,则无法解决。

SLR(1)分析条件 LRSM0中存在着状态: { A1 →1, …, An →n, B1→1 a1r1, Bm→ mamrm } 则集合: Follow(A1)、…、Follow(An)、{a1, …, am} 两两相交为空。注: a1, …, am中可以有相同者。

SLR(1)分析表的构造 与LR(0)分析表的构造不同之处只是action表中归约项的填写,其他都一样。 若AISk,则对任意aVT,aFollow(A),令action(ISk, a)=Rj,其中产生式A的编号为j,表示用编号为j的产生式进行归约。

State Action- Lookahead GoTo Follow(S)={#} Follow(E)={$,+,)} GE: S→E $ [1] E→E + T [2] E→T [3] T→T  P [4] T→P [5] P→id [6] P→( E ) [7] Follow(S)={#} Follow(E)={$,+,)} Follow(T)={$,+,), } Follow(P) ={$,+,), } E→ T  T→ T   P 7 T→ T   P P→  id P→  (E) 8 x  E→ E+T  [2] T→ T  P [4] 11 8 State Action- Lookahead GoTo # +  id ( ) $ E T P S5 S6 1 7 4 S3 S2 … 11 12 S10 R3 S8 R3 R3 R2 S8 R2 R2

State Action- Lookahead GoTo # +  id ( ) $ E T P S5 S6 1 7 4 S3 S2 2 S5 S6 1 7 4 S3 S2 2 Acc 3 11 R5 5 R6 6 12 R3 S8 8 9 R4 10 R7 R2 S10

SLR(1)驱动器 与LR(0)驱动程序相同

SLR(1)文法定义 对于一个文法,若按照上述算法构造的分析表中没有冲突动作,则称该文法为SLR(1)文法。 从定义可以看出SLR(1)分析方法是用LR(0)项目构成的LRSM0来识别活前缀,因此它们的状态数相同,但是,由于LR(0)方法只看状态栈的内容而SLR(1)方法还要向前看展望符,因此SLR(1)文法要比LR(0)文法应用广。

SLR(1)与LR(0) SLR(1)和LR(0)具有相同的状态机 LR(0)归约时不考虑当前输入符,SLR(1)在动作有冲突时考虑输入符,用follow集来解决冲突,因此SLR(1)要比LR(0)分析能力强

括号文法定义如下: 练习题 Z → S$ S → (S) S |  构造该文法的SLR(1)分析表,并给出输入流( )( )$的SLR(1)分析过程。 follow Z # S $,)

2 3 ( S ) ( S 4 1 5 S Z → S$ S → (S)S S →  6 $ ( S (S)S[2] S (S)S[2] 3 ( S ) ( S S (S)S[2] S (S)S[2] S  [3] 4 Z S$ [1] 1 Z S$ [1] 5 $ S ( ) $ # S Z S2 R3 1 S5 2 3 S4 4 6 5 acc R2 Z → S$ S → (S)S S →  S (S)S[2] 6 follow Z # S $,)

Z → S$ [1] S → (S) S [2] |  [3] 状态栈 符号栈 输入串 Action Goto 0 # ( )( )$# 0 # ( )( )$# 02 # ( )( )$# 023 # ( S )( )$# 0234 # ( S ) ( )$# 02342 # ( S)( )$# 023423 # ( S)( S )$# 0234234 # ( S) (S ) $# 02342346 #( S)(S ) S $# 02346 # ( S)S $# 01 # S $# 015 # S$ # ( ) $ # S Z S2 R3 1 S5 2 3 S4 4 6 5 acc R2 Z → S$ [1] S → (S) S [2] |  [3]

例子:G[s]: S→E $ [1] E→E + T [2] E→T [3] T→T  P [4] T→P [5] P→id [6] P→( E ) [7] S→  E $ [1] E→  E+T [2] E→  T [3] T→  TP [4] T→  P [5] P→  id [6] P→  (E) [7] E $ S→ E  $ E→ E  + T   1 2 + S→ E $    P id E→ E +  T T→  T  P T→  P P→  id P→  (E) 3 4 P + T→ P    ( T id P→ id    5 ( E→ T  T→ T   P 7 id T id E→ E+T  T→ T  P 11 P → (  E ) E→  E+T E→  T T→  TP T→  P P→  id P→  (E) 6   T→ T   P P→  id P→  (E) 8 8 E P→ (E  ) E→ E  +T 12 ( P ) ( T→ T * P  9 P T 7 P→(E)  10 4 GE 的LRSM0

State Action- Lookahead GoTo # +  id ( ) $ E T P S5 S6 1 7 4 S3 S2 2 S5 S6 1 7 4 S3 S2 2 Acc 3 11 R5 5 R6 6 12 R3 S8 8 9 R4 10 R7 R2 S10

分析栈 符号栈 输入串 分析动作 转向状态 0 # id id+id$# S5 0,5 #id id+id$# R6 4 分析栈 符号栈 输入串 分析动作 转向状态 0 # id id+id$# S5 0,5 #id id+id$# R6 4 0,4 #P id+id$# R5 7 0,7 #T id+id$# S8 0,7,8 #T id+id$# S5 0,7,8,5 #Tid +id$# R6 9 0,7,8,9 #TP +id$# R4 7 0,7 #T +id$# R3 1 0,1 #E +id$# S3 0,1,3 #E+ id$# S5 0,1,3,5 #E+id $# R6 4 0,1,3,4 #E+P $# R5 11 0,1,3,11 #E+T $# R2 1 0,1 #E $# S2 0,1,2 #E$ # Accept G[E]: S→E $ [1] E→E + T [2] E→T [3] T→T  P [4] T→P [5] P→id [6] P→( E ) [7]