编译技术编译原理 (26).pdf

上传人:刘静 文档编号:52830129 上传时间:2022-10-23 格式:PDF 页数:12 大小:1.91MB
返回 下载 相关 举报
编译技术编译原理 (26).pdf_第1页
第1页 / 共12页
编译技术编译原理 (26).pdf_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《编译技术编译原理 (26).pdf》由会员分享,可在线阅读,更多相关《编译技术编译原理 (26).pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、编译技术语 法 分 析本讲纲要LR文法和LR分析方法的特点LR分析的错误恢复二义文法 LR文法:能为之构造出所有条目都唯一的LR分析表L R 分 析 方 法 的 特 点栈中的文法符号总是形成一个活前缀。示例中的右推导过程为:E=E+T=E+F=E+id=T+id=T*F+id=T*id+id=F*id+id=id*id+id栈栈输输入入动动作作0 id*id+id$移进移进0 id 5*id+id$按按F id归约归约0 F 3*id+id$按按T F归约归约0 T 2*id+id$移进移进0 T 2*7 id+id$移进移进0 T 2*7 id 5+id$按按F id归约归约0 T 2*7

2、F 10+id$按按T T*F归约归约.0 E 1$接受接受E=E+T=E+F=E+id=T+id=T*F+id=T*id+id=F*id+id=id*id+idL R 分 析 方 法 的 特 点栈中的文法符号总是形成一个活前缀。分析表的转移函数本质上是识别活前缀的DFA。L R 分 析 方 法 的 特 点例:E E+T|E T T T*F|T EF (E)|F id状态动作转移id +*()$E T F 0 s5 s4 1 2 3 1s6 acc 2r2 s7 r2 r2 3r4 r4 r4 r4 4 s5 s4 8 2 3 L R 分 析 方 法 的 特 点栈中的文法符号总是形成一个活前缀

3、。分析表的转移函数本质上是识别活前缀的DFA。栈顶的状态符号包含了确定句柄所需要的一切信息。是已知的最一般的无回溯的移进-归约方法。能分析的文法类是预测分析法能分析的文法类的真超集。能及时发现语法错误。缺点:手工构造分析表的工作量太大。L R 分 析 方 法 和 L L 分 析 方 法 的 比 较LR(1)方方 法法LL(1)方方 法法建立分析树的方式建立分析树的方式自自 下下 而而 上上自自 上上 而而 下下决定使用产生式的时机决定使用产生式的时机看见产生式整个右看见产生式整个右部推出的东西后才算是部推出的东西后才算是看准了用哪个产生式进看准了用哪个产生式进行归约行归约看见产生式右部看见产生

4、式右部推出的第一个终结符推出的第一个终结符后便确定用哪个产生后便确定用哪个产生式进行推导式进行推导归约还是推导归约还是推导规规 范范 归归 约约最最 左左 推推 导导L R 分 析 方 法 和 L L 分 析 方 法 的 比 较在下面的推导中,最后一步用的是在下面的推导中,最后一步用的是A l S rm rm A b w rm l b wLL(1)决定用该决定用该产生式的位置产生式的位置LR(1)决定用该决定用该产生式的位置产生式的位置L R 分 析 方 法 和 L L 分 析 方 法 的 比 较LR(1)方方 法法LL(1)方方 法法对文法的显式限制对文法的显式限制对文法没有限制对文法没有限

5、制无左递归、无左递归、无公共左因子无公共左因子分析栈比较分析栈比较状态栈,通常状状态栈,通常状态比文法符号包含更态比文法符号包含更多信息多信息文法符号栈文法符号栈分析表比较分析表比较状态文法符号状态文法符号分析表大分析表大非终结符终结符非终结符终结符分析表小分析表小L R 分 析 方 法 和 L L 分 析 方 法 的 比 较LR(1)方方 法法LL(1)方方 法法确定句柄确定句柄根据栈顶状态和下一个符号根据栈顶状态和下一个符号便可以确定句柄和归约所用便可以确定句柄和归约所用产生式产生式无句柄概念无句柄概念语法错误语法错误决不会将出错点后的符决不会将出错点后的符号移入分析栈号移入分析栈和和LR一样,决不会读一样,决不会读过出错点而不报错过出错点而不报错编译技术语 法 分 析

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁