- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Lecture02:实验导引
词法分析简介、语法分析简介、语法分析树(具体语法树)、抽象语法树
LexYacc简介
Lecture03:词法分析
词法分析概述
词法分析程序的设计与实现(状态转换图、扩展巴克斯范式EBNF描述词则)
词法分析程序自动构造
PL/0代码
Lecture04:自顶向下语法分析
基本思想(按给定文法和符号串进行推导)
确定的自顶向下分析
消除第一类不确定(带回溯的自顶向下分析、最左推导)
消除第二类不确定(自顶向下预测分析)
LL(1)分析
第一个“L”代表从左向右扫描单词符号,第二个“L”代表产生的是最左推导,“1”代
表向前查看(lookahead)一个单词符号。
First集合:一个句型α若可以推导出另一个以符a开头的句型,那么a属于First(α);
若α可以推导出ε,那么ε属于First(α)
Follow集合:,若G中存在一个包含子串Xa的句型,那么a属于Follow(X);G中存在一
个以X结尾的句型,那么#属于Follow(X)。
预测集合PS(A-α)定义如下:
如果ε不属于First(α),那么PS(A-α)=First(α);
如果ε∈First(α),那么PS(A-α)=(First(α)–{ε})∪Follow(A)
LL(1)分析的实现
递归下降LL(1)分析程序
表驱动LL(1)分析程序
预测分析表:表的每一行对应一个非符,表的每一列对应某个符或输入结束符#,
表中的项是一个产生式集合。
对文法G的每个产生式,若它的预测集合PS(A-α)中包含a∈VT∪{#},那么将A-α加入
表项M[A,a]。当M(A,a)不含产生式时,就对应一个出错位置。
一个文法G的预测分析表中每个表项最多只包含一个产生式,当且仅当G是LL(1)文法。
对于LL(1)文法,预测分析表也称为LL(1)分析表。
表驱动LL(1)分析程序的工作原理为:
初始时,下推栈只包含#;首先将文法开始符号入栈;然后执行如下步骤:
(2)若栈顶为非符,则根据该非符和当前输入单词符号查LL(1)分析表,若相
应表项中是产生式(唯一的),则将此非符出栈,并把产生式右部符号从右至左入栈;
若表项为空,则进行错误处理。
(3)重复(1)和(2),直到栈顶为#同时输入也遇到结束符#时,分析结束。
文法变换:消除左递归、提取左公因子(构造出所期望的文法类型)
左递归的,直接左递归,间接左递归。
包含左递归或左公因子的文法一般不是LL(1)的。
如果对非符的不同排序方式,依上述步骤消除一般左递归后所得到的文法从形式上看可
能会有区别,但它们之间是相互等价的。
提取因子
LL(1)分析中的出错处理
一是报错,发现错误时应尽可能准确错误位置和错误属性;二是错误恢复,尽可能进行
校正,使编译工作可以继续下去,提高程序调试的效率。
对于表驱动LL(1)分析,在以下两种情况下需要报错:栈顶的符与当前输入符号不匹
配;非符A位于栈顶,的输入符号为a,但分析表M的表项M[A,a]为空。
短语层恢复
Lecture05:自底向上语法分析
基本思想(按给定文法和符号串进行归约)
两种不确定(在每一步归约中,选择哪个产生式,以及匹配哪个位置上的子串)
对于文法的某个句型或句子,如果一个子串根据某个产生式归约后,得到文法的另一个句型,
那么我们称这样的子串为可归约串;如果没有这样的产生式,那么它就是不可归约的串。总
是选择某个“可归
您可能关注的文档
- tclinux下流量控制工具详细说明及应用实例.pdf
- 大三夏季小学期大作业说明书.pdf
- 中级篇21ps2键盘接口通过串口程序.pdf
- 讲稿品牌masport图库.pdf
- ecte364实验室报告二使用wireshark进行数据通信labreport2mo.pdf
- 二章会计科目账户.pdf
- 2024届四川省巴中市普通高中高三下学期“一诊”考试理综试题-高中化学.pdf
- 2024届四川省成都市高中毕业班第一次诊断性检测理科综合(1).pdf
- 2024届江苏省苏锡常镇高三下学期3月一模物理试卷.pdf
- 2024届四川省成都市蓉城名校联盟高三下学期第三次模拟考试理科综合试题-高中生物.pdf
- 2024届福建省福州市高三二模语文试题.pdf
- 2023年浙江省杭州市第一学期高三年级教学质量检测(一模)-普通用卷.pdf
- 2024届山东省济宁市高三一模物理试题.pdf
- 2024届湖北省七市州高三年级3月联合统一调研测试语文试卷.pdf
- 【新结构】浙江省绍兴市2024届高三下学期4月适应性考试数学试卷(绍兴二模)❖❖-普通用卷.pdf
- 2024届广东省广州市普通高中高三下学期二模物理试卷.pdf
- 2024届湖北省八市高三下学期(3月)联考物理试卷.pdf
- 2024届山东省实验中学高三下学期一模考试物理试题.pdf
- 2024届湖北省高三十一校高三下学期第二次联考(二模)物理试题.pdf
- 2024届广东东莞中学、广州二中、惠州一中、深圳实验、珠海一中、中山纪念中学六校高三上学期第三次联.pdf
文档评论(0)