编译原理笔记个人手写整理.pdf

"编译原理笔记个人手写整理.pdf"
本资源是关于编译原理笔记的个人手写整理,涵盖了编译原理的基本概念、算符优先关系、算符优先分析算法、优先函数、LR 分析法等多个方面的知识点。
一、算符优先关系
算符优先关系是指在文法中,两种符号之间的优先级关系。有三种类型的优先关系:a 的优先级低于 b (a < b)、a 的优先级等于 b (a = b)、a 的优先级高于 b (a > b)。算符优先关系是有序的,但不具有传递性。
二、算符优先分析算法
算符优先分析算法是指使用栈存储已经看到的输入符号,用优先关系指导移动归约语法分析器的动作。该算法的主要思想是:如果栈顶的终结符和下一个输入符之间的优先关系是<或=,则语法分析器移动,表示还没有发现句柄的右端;如果是>关系,就调用归约。
三、算符优先分析法优缺点
算符优先分析法的优点是速度快,但缺点是无法发现由单个非终结符组成的“可归约串”。忽略非终结符在归约过程中的作用,存在某种危险性,可能导致把本来不成句子的输入串误认为是句子。
四、优先函数
优先函数是指用来计算优先关系的函数。优先函数的计算方法是:f(a) < g(b),如果 a < b;f(a) = g(b),如果 a = b;f(a) > g(b),如果 a > b。优先函数的问题是使得优先关系表中的空白项是模糊的,且使得错误的发现被推迟。
五、优先关系表的存储方式
优先关系表可以使用矩阵表示或优先函数表示。矩阵表示需要大量内存空间,但准确直观;优先函数需要内存空间小,但不利于出错处理。
六、LR 分析法
LR 分析法是指从左向右扫描输入字符串,构造最右推导的逆过程。LR 语法分析器适用于一大类上下文无关文法的语法分析。LR 分析法的优点是能识别几乎所有能用上下文无关文法描述的程序设计语言的结构,且可以和其他移动归约分析一样被有效地实现。
七、LR 语法分析器的优缺点
LR 语法分析器的优点是能识别几乎所有能用上下文无关文法描述的程序设计语言的结构,且可以和其他移动归约分析一样被有效地实现。但缺点是构造 LR 分析表需要复杂的计算。
八、错误恢复
算符优先分析器能发现的语法错误包括:如果栈顶的终结符和当前输入之间没有优先关系、如果发现句柄,但句柄不是任何产生式的右部。错误恢复的方法是给出相应的具有描述性的出错信息,并试图通过插入、删除来获得句柄。

照旧的你好
- 粉丝: 11
最新资源
- arm 架构openssh9.9版本rpm部署包(openssh/openssl全量升级)
- 毕设&课设:基于全国职业技能大赛(2021)移动应用开发赛项题库标准,自主开发设计的智慧城市App.zip
- 毕设&课设:基于个性化定制的智慧校园管理系统设计与开发,计算机毕业设计,毕设,Java毕业设计,SpringBo.zip
- 毕设&课设:课程设计,基于 Vue 、Node 、SSM 的前后端分离 - 智慧养老服务平台.zip
- 毕设&课设:农产品智慧物流系统,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序,J.zip
- 毕设&课设:面向智慧教育的实习实践系统,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小.zip
- 毕设&课设:山东省大学生软件设计大赛--智慧校园管理系统项目.zip
- 毕设&课设:农业大学智慧校园毕业设计项目.zip
- 毕设&课设:突然一时兴起,给大口袋设计的智慧职教的视频与PPT抓取工具.zip
- 毕设&课设:项目申报评审系统是一个综合性的信息化管理平台,旨在规范和优化项目的申报、评审、执行与验收等全流程管理.zip
- 毕设&课设:无人智慧超市管理系统,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序,.zip
- 毕设&课设:这是一个基于 Vite + Vue 3 构建的智慧城市数据可视化大屏前端项目。它以 Cesium.j.zip
- 毕设&课设:智慧110界面UI设计.zip
- 毕设&课设:这是一个智慧宠物的APP,APP的界面已经设计好,而且登录界面和注册界面也已经做好,只需要实现功能即.zip
- 毕设&课设:智慧党建系统,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序,Java.zip
- 毕设&课设:智慧草莓基地管理系统,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序,.zip