【编译原理复习笔记】语法分析-补充(二义性与LR错误处理)

二义性文法的 LR 分析

每个二义性文法都不是 LR 的
但是某些二义性文法更加简短,描述更方便
在这里插入图片描述

如 I7 和 I8 具有移进归约冲突

使用优先级和结合性解决冲突

对于 I7,由于乘号优先级高于加号,所以当下一个输入符号为乘号时,我们优先进行移进;当输入符号为加号时,由于加号具有左结合性,我们优先处理状态内的加号,所以进行归约
对于 I8,由于乘号的优先级高,所以进行归约

LR 分析中的错误处理

语法错误的检测,当 LR 分析器在查询分析表并发现一个报错条目的时候,就检测到了一个语法错误
错误恢复策略:
(1)恐慌模式
(2)短语层次
恐慌模式已经做过介绍,这里对于短语层次错误恢复进行介绍

短语层次错误恢复

检查 LR 分析表中的每一个报错条目,并根据语言的使用方法来决定形成这个错误的原因,然后构造出适当的恢复进程
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/632951.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

03-02-Vue组件之间的传值

前言 我们接着上一篇文章 03-01-Vue组件的定义和注册 来讲。 下一篇文章 04-Vue:ref获取页面节点–很简单 父组件向子组件传值 我们可以这样理解:Vue实例就是一个父组件,而我们自定义的组件(包括全局组件、私有组件)…

Java基础入门day49

day49 tomcat 启动 进入tomcat的bin目录,双击或者运行startup.bat文件启动tomcat 控制台最后出现服务器启动在多少毫米之内,代表服务器成功启动 org.apache.catalina.startup.Catalina.start Server startup in 405 ms 验证tomcat 在浏览器中输入 loca…

linux---进程通信

提示:以下是本篇文章正文内容,下面案例可供参考 一、匿名管道 进程之间的通信目的一般是来控制另一个进程。也可以用来实现数据的交流,还有资源共享等。 匿名管道原理: (铺垫)进程之间是具有独立性&…

超市进销存|基于SprinBoot+vue的超市进销存系统(源码+数据库+文档)

超市进销存系统 目录 基于SprinBootvue的超市进销存系统 一、前言 二、系统设计 三、系统功能设计 1 登录注册 2 管理员功能模块 3员工功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍&#x…

【时间复杂度和空间复杂度之间的故事】

【时间复杂度和空间复杂度之间的故事】 一.前言 二.时间复杂度定义时间复杂度的计算规则习题 三.空间复杂度定义计算方法习题空间复杂度 O(1)空间复杂度 O(n) 本文主要讲解关于时间复杂度与空间复杂度 😀😃😁😁😇&…

桂林电子科技大学计算机工程学院、广西北部湾大学计信学院莅临泰迪智能科技参观交流

5月18日,桂林电子科技大学计算机工程学院副院长刘利民、副书记杨美娜、毕业班辅导员黄秀娟、广西北部湾大学计信学院院长助理刘秀平莅临广东泰迪智能科技股份有限公司产教融合实训基地参观交流。泰迪智能科技副总经理施兴、广西分公司郑廷和、梁霜、培训业务部孙学镂…

Outlook 开启smtp配置

微软 Outlook 邮箱各种服务详细信息 服务类型服务器地址端口加密方法POPoutlook.office365.com995TLSIMAPoutlook.office365.com993TLSSMTPsmtp.office365.com587STARTTLS 然而仅仅有以上信息还不够,需要获取服务密码 (授权码) 才能够使用 POP, IMAP, SMTP 这三种…

常见应用流量特征分析

目录 1.sqlmap 1.常规GET请求 2.通过--os-shell写入shell 3.post请求 2.蚁剑 编码加密后 3.冰蝎 冰蝎_v4.1 冰蝎3.2.1 4.菜刀 5.哥斯拉 1.sqlmap 1.常规GET请求 使用的是sqli-labs的less7 (1)User-Agent由很明显的sqlmap的标志,展…

基础常用动词,柯桥西班牙语培训

1. Ser:是 表示身份: Soy Ana. Soy estudiante. 我是安娜。我是一名学生。 表示属性: Es duro. 这是硬的。 表示国籍: Soy espaol, de Madrid. 我是西班牙人,来自马德里。 2. Estar: 是..., 在... 表示身体状况: Estoy muy cansada, necesito dormir.我很…

JMH301【亲测】5月最新整理【神鬼传奇】斗罗超变单机版175级新宠物宝宝坐骑丰富超变定制装备带完整GM命令网游单机虚拟机一键端

资源介绍: 是否需要虚拟机:是 文件大小:压缩包约8.6G 支持系统:win7、win10、win11 硬件需求:运行内存8G 4核及以上CPU 下载方式:百度网盘 内容持续更新! 资源截图: 下载地址…

DataBinding viewBinding(视图绑定与数据双向绑定)简单案例 (kotlin)

先上效果: 4个view的文字都是通过DataBinding填充的。交互事件:点击图片,切换图片 创建项目(android Studio 2023.3.1) Build.gradle(:app) 引入依赖库(完整源码) buildFeatures { vie…

Docker访问文件权限受限问题解决

问题描述 运行项目的docker环境,新添加了一个数据集,但是数据集的访问权限受限(Permission dinied),运行的命令如图所示 问题解决 chmod 777 xxx YYDS!!!但是单纯直接运行会因为权限…

产品经理-交互说明撰写(八)

1. 交互说明 交互说明可以看做是交互设计师或者产品经理输出的最核心的”产品“交互说明面向的”用户“是下游的同事 ⇒ UI设计师、开发工程师、测试工程师 2. 基本交互形式 2.1 页面交互 2.2 元素控件交互 3. 交互说明主要包括以下3个维度 3.1 页面流程(页面之…

OpenFeign高级用法:缓存、QueryMap、MatrixVariable、CollectionFormat优雅地远程调用

码到三十五 : 个人主页 微服务架构中,服务之间的通信变得尤为关键。OpenFeign,一个声明式的Web服务客户端,使得REST API的调用变得更加简单和优雅。OpenFeign集成了Ribbon和Hystrix,具有负载均衡和容错的能力&#xff…

在 Android 上存档短信:4 种方法的终极指南

概括 无论是个人对话还是专业信件,我们的短信收件箱很快就会因大量线程和对话而变得混乱。为了帮助管理这种过载,许多 Android 用户转向了归档短信这一便捷功能。在本指南中,我们将探讨如何在 Android 设备上存档短信的详细信息,…

Django中使用Celery(通用方案、官方方案)

Django中使用Celery(通用方案、官方方案) 目录 Django中使用Celery(通用方案、官方方案)通用方案场景前置准备完整代码 Celery官方方案【1】注册celery配置【2】创建celery文件【3】init注册【4】添加任务【5】启动worker异步任务…

【qt】下拉列表组件

下拉列表组件 一.Combo Box1.可以直接双击编辑下拉内容2.代码初始化下拉内容3.一次性添加多个下拉内容4.下拉框手动编辑5.下拉内容添加附加值6.下拉添加图标7.获取下拉值 二.总结 一.Combo Box 还是老样子,咱们边做边练 目标图: 1.可以直接双击编辑下…

ThreadLocal原理及使用

一、引言 在Java多线程编程中,ThreadLocal是一个非常有用的工具,它提供了一种将对象与线程关联起来的机制,使得每个线程都可以拥有自己独立的对象副本,从而避免了线程安全问题。然而,使用不当会导致内存泄漏问题。 二…

el-input 自动获取焦点

前言: 需求描述:在 Dialog 对话框中 使用 input 组件;当点击按钮,Dialog 对话框显示,且里面的 input 组件要自动获取焦点。因为页面上还存在其他的 input 组件,所以使用 自动获取焦点属性没用!&…

AppInventor2要在界面上做一个电量图标,有什么好的思路吗?

问:要在界面上做一个电量图标,有什么好的思路吗? 答:首先,很容易想到使用进度条相关的组件,原生”滑动条“组件可以吗? 答案显而易见,首先它的样式自定义不够,UI不外乎上…