当前位置: 首页 > news >正文

第五章 作业(123)【编译原理】

第五章 作业【编译原理】

  • 前言
  • 推荐
  • 第五章 作业
    • 1
    • 2
    • 3
  • 随堂练习
    • 课前热身04-17
    • 随堂练习04-17
    • 课前热身04-24
  • 最后

前言

2023-5-3 22:12:46

以下内容源自《【编译原理】》
仅供学习交流使用

推荐

第四章 作业(123)【编译原理】

第五章 作业

1

1.令文法G为:
E→E+T|T
T→T*F|F
F→(E)|i

证明E+T*F是它的一个句型,指出这个句型的所有短语,直接短语和句柄。

E+T*F是文法G的一个句型
语法树如下:
在这里插入图片描述

短语:E+T*F,T*F
直接短语:T*F
句柄:T*F

2

2.考虑下面的表格结构文法G2:
S->a|∧|(T)
T→T,S|S
(1)给出(a,(a,a))和(((a,a),∧,(a)),a)的最左和最右推导。
(2)指出(((a,a),∧,(a)),a)的规范归约及每一步的句柄。根据这个规范归约,给出“移进-归约”的过程,并给出它的语法树自下而上的构造过程。

(1) (a,(a,a))
最左推导:S=>(T)=>(T,S)=>(S,S)=>(a,S)=>(a,(T))=>(a,(T,S))=>(a,(S,S))=>(a,(a,S))=>(a,(a,a))
最右推导:S=>(T)=>(T,S)=>(T,(T))=>(T,(T,S))=>(T,(T,a))=>(T,(S,a))=>(T,(a,a))=>(S,(a,a))=>(a,(a,a))
(2)(((a,a),∧,(a)),a)
最左推导:S=>(T)=>(T,S)=>(S,S)=>((T),S)=>((T,S),S)=>((T,S,S),S)
=>((S,S,S),S)=>(((T),S,S),S)=>(((T,S),S,S),S)=>(((S,S),S,S),S)=>(((a,S),S,S),S)
=>(((a,a),S,S),S)=>(((a,a),∧,S),S)=>(((a,a),∧,(T)),S)=>(((a,a),∧,(S)),S)
=>(((a,a),∧,(a)),S)=>(((a,a),∧,(a)),a)
最右推导:S=>(T)=>(T,S)=>(T,a)=>(S,a)=>((T),a)=>((T,S),a)=>((T,(T)),a)=>((T,(S)),a)
=>((T,(a)),a)=>((T,S,(a)),a)=>((T,∧,(a)),a)=>((S,∧,(a)),a)=>(((T),∧,(a)),a)
=>(((T,S),∧,(a)),a)=>(((T,a),∧,(a)),a)=>(((S,a),∧,(a)),a)=>(((a,a),∧,(a)),a)
(2)
(((a,a),∧,(a)),a)的规范归约:最右推导倒着来
具体可见符号栈+输入串的变化:共17步归约:6,7,10,11,13,14,17,18,22,23,25,26,28,29,32,33,35(((a,a),∧,(a)),a):“移进-归约”的过程
步骤		符号栈				输入串 						操作			说明
1		#					(((a,a),∧,(a)),a)# 		预备
2		#(					((a,a),∧,(a)),a)# 		进
3		#((		    		(a,a),∧,(a)),a)# 		进
4		#(((				a,a),∧,(a)),a)# 			进
5		#(((a				,a),∧,(a)),a)# 			进
6		#(((S				,a),∧,(a)),a)# 			归			 S->a
7		#(((T				,a),∧,(a)),a)# 			归			 T->S
8		#(((T,				a),∧,(a)),a)# 			进	
9		#(((T,a			),∧,(a)),a)# 				进		
10		#(((T,S			),∧,(a)),a)# 				归	 		 S->a
11		#(((T				),∧,(a)),a)# 				归	 		 T->T,S
12		#(((T)				,∧,(a)),a)# 				进
13		#((S				,∧,(a)),a)# 				归			 S->(T)
14		#((T				,∧,(a)),a)# 				归			 T->S
15		#((T,				∧,(a)),a)# 				进			
16		#((T,∧				,(a)),a)# 					进	
17		#((T,S				,(a)),a)# 					归			 S->∧
18		#((T				,(a)),a)# 					归			 T->T,S
19		#((T,				(a)),a)# 					进			 
20		#((T,(				a)),a)# 					进			 
21		#((T,(a			)),a)# 					进	
22		#((T,(S			)),a)# 					归			 S->a
23		#((T,(T			)),a)# 					归			 T->S
24		#((T,(T)			),a)# 						进			
25		#((T,S				),a)# 						归		 	 S->(T)		
26		#((T				),a)# 						归			 T->T,S
27		#((T)				,a)# 						进			 
28		#(S					,a)# 						归			 S->(T)	
29		#(T					,a)# 						归			 T->S
30		#(T,				a)# 						进			  
31		#(T,a				)# 							进
32		#(T,S				)# 							归			 S->a
33		#(T					)# 							归			 T->T,S
34		#(T)				# 							进			
35		#S					# 							归			 S->(T)	
36		#S					# 							接受

(((a,a),∧,(a)),a)语法树如下
在这里插入图片描述

3

3.(1)计算练习2文法G2的FIRSTVT 和 LASTVT。
(2)计算G2的优先关系。G2是一个算符优先文法吗?
(3)计算G2的优先函数。
(4)给出输入串(a,(a,a))的算符优先分析过程。

(1)文法G2的FIRSTVT 和 LASTVT。
FIRSTVT(S)={a ∧ (}          LASTVT(S)={a ∧ )}
FIRSTVT(T)={a ∧ ( ,}      LASTVT(T)={a ∧ ) ,}
2)G2的优先关系矩阵:a	^	(	)	,	#
a				>	>	>
^				>	>	>
(	<	<	<	=	<
)				>	>	>
,	<	<	<	>	>
#	<	<	<			=
G2是一个算符优先文法
(4)输入串(a,(a,a))的算符优先分析过程:
步骤		符号栈		输入串 			操作			说明
(1)	#			(a,(a,a))#		预备
(2)    #(  		a,(a,a))#	    移进			[#][(]=<
(3)	#(a			,(a,a))#	    移进			[(][a]=<		
(4)	#(T 		,(a,a))#	    归约			[a][,]=>
(5)	#(T, 		(a,a))#	    移进			[(][,]=<
(6)	#(T,(		a,a))#	    	移进			[,][(]=<
(7)	#(T,(		a,a))#	    	移进			[(][a]=<
(8)	#(T,(a		,a))#	    	移进			[(][a]=<
(9)	#(T,(T		,a))#	    	归约			[a][,]=>
(10)	#(T,(T,	a))#	    	移进			[(][,]=<
(11)	#(T,(T,a	))#	    		移进			[,][a]=<
(12)	#(T,(T,S	))#	    		归约			[a][)]=>
(13)	#(T,(T)	)#	    		移进			[(][)]==
(14)	#(T,S		)#	    		归约			[)][)]=>
(15)	#(T			)#	    		归约			[,][)]=>
(16)	#(T)		#	    		移进			[(][)]==
(17)	#S			#	    		归约			[)][#]=>
(18)	#S#				    	 	接受		

2023-5-7 00:00:54

随堂练习

2023-5-3 22:12:50

课前热身04-17

1(多选题) 语法分析按照分析的方向分为:
A. 自上而下的语法分析
B. 自下而上的语法分析
C. 自左而右的语法分析
D. 自右而左的语法分析

正确答案: AB 我的答案: AB

2(简答题) 有文法G:
E—>T|E+T
T—>F|T*F
F—>(E)|i

请说明句型E+T*F+i的短语,直接短语和句柄。

在这里插入图片描述

短语:E+T*F+i,E+T*F,T*F,i
直接短语:T*F,i
句柄:T*F

随堂练习04-17

1(简答题) 请构造该文法中所有非终结符的LASTVT集

E->E+T|T
T->T*F|F
F->(E)|i

	+ 	* 	( 	) 	i
E	1	1		1	1
T		1 		1 	1
F				1	1

课前热身04-24

1(单选题) 若a、b均为终结符,且a的优先级低于b,则说明:
A. 推导的符号串中,a位于b之前,a先于b被规约
B. 推导的符号串中,a位于b之前,b先于a被规约
C. 推导的符号串中,a位于b之后,a先于b被规约
D. 推导的符号串中,a位于b之后,b先于a被规约,也有可能同时被规约

正确答案: B 我的答案: B

2(判断题) 在算符优先分析中,待分析串的界符#,其优先级一定低于文法所有终结符号。

正确答案: 错 我的答案: 错

3必答 (简答题) 已知文法G[S]:
S → a|^|(T)
T → T,S|S
非终结符的FIRSTVT、LASTVT集如下所示:
FIRSTVT(S)={a ^ (} LASTVT(S)={a ^ )}
FIRSTVT(T)={a ^ ( ,} LASTVT(T)={a ^ ) ,}
请构造文法G的优先关系矩阵。

	a	^	(	)	,	#
a				>	>	>
^				>	>	>
(	<	<	<	=	<
)				>	>	>
,	<	<	<	>	>
#	<	<	<			=

2023-5-3 22:22:20

最后

2023-5-7 00:01:02

你对我百般注视,
并不能构成万分之一的我,
却是一览无余的你。

祝大家逢考必过
点赞收藏关注哦

相关文章:

第五章 作业(123)【编译原理】

第五章 作业【编译原理】 前言推荐第五章 作业123 随堂练习课前热身04-17随堂练习04-17课前热身04-24 最后 前言 2023-5-3 22:12:46 以下内容源自《【编译原理】》 仅供学习交流使用 推荐 第四章 作业&#xff08;123&#xff09;【编译原理】 第五章 作业 1 1.令文法G为…...

基于Vue的个性化网络学习笔记系统

1&#xff0e;系统登录&#xff1a;系统登录是用户访问系统的路口&#xff0c;设计了系统登录界面&#xff0c;包括用户名、密码和验证码&#xff0c;然后对登录进来的用户判断身份信息&#xff0c;判断是管理员用户还是普通用户。 2&#xff0e;系统用户管理&#xff1a;不管是…...

如何搭建一个HTTP实验环境

这一讲是“破冰篇”的最后一讲&#xff0c;我会先简单地回顾一下之前的内容&#xff0c;然后在 Windows 系统上实际操作&#xff0c;用几个应用软件搭建出一个“最小化”的 HTTP 实验环境&#xff0c;方便后续的“基础篇”“进阶篇”“安全篇”的学习。 “破冰篇”回顾 HTTP …...

Electron 环境搭建

https://start.spring.io/ 在线数据分析网站 https://tj.aldwx.com/ https://www.spsspro.com/ win10如何分屏 拖到边缘 Electron 环境搭建 https://www.electronjs.org/zh/docs/latest/tutorial/%E6%89%93%E5%8C%85%E6%95%99%E7%A8%8B electron 隐藏菜单 electron 标题栏 设…...

农机电招平台~java

摘要 随着农机电招行业的不断发展&#xff0c;农机电招在现实生活中的使用和普及&#xff0c;农机电招行业成为近年内出现的一个新行业&#xff0c;并且能够成为大群众广为认可和接受的行为和选择。设计农机电招平台的目的就是借助计算机让复杂的销售操作变简单&#xff0c;变…...

springboot+vue体质测试数据分析及可视化设计(源码+文档)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的体质测试数据分析及可视化设计。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&a…...

thinkphp+vue+html高校固定资产管理系统维修 租借4h80u

本高校资产管理系统采用的数据库是Mysql&#xff0c;使用thinkphp框架开发。在设计过程中&#xff0c;充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。运行环境:phpstudy/wamp/xammp等 开发语言&#xff1a;php 后端框…...

【学习笔记】「北大集训 2021」经典游戏

我觉得很厉害。要是考场上能把这道题切了的话数据结构的水平肯定是不低的。 考虑简化版问题&#xff1a;如果只询问一个点的答案怎么做。 注意&#xff0c;我这么做是有风险的。我把战线拉长了。不过当然&#xff0c;如果连简化版的问题都做不了&#xff0c;那何谈正解&#…...

优惠卷秒杀功能、全局唯一ID、乐观锁解决超卖问题、悲观锁实现一人一单、集群下锁失效问题

文章目录 1 全局唯一ID的需求分析2 Redis实现全局唯一Id3 添加优惠卷4 实现秒杀下单5 库存超卖问题分析6 乐观锁解决超卖问题6 悲观锁实现一人一单7 集群环境下的并发问题 1 全局唯一ID的需求分析 每个店铺都可以发布优惠券&#xff1a; 当用户抢购时&#xff0c;就会生成订单…...

Nest的基本概念,以及如何使用Nest CLI来构建一个简单的Web应用程序

Nest是一个用于构建高效、可扩展的Node.js服务器端应用程序的框架。它是基于Express.js构建的&#xff0c;并且提供了多种新特性和抽象层&#xff0c;可以让开发者更加轻松地构建复杂的应用程序。 本文将介绍Nest的基本概念&#xff0c;以及如何使用Nest CLI来构建一个简单的W…...

15个创新世界119座城:1~10章音频

感恩每一个喜欢我文字的朋友&#xff0c;感恩每一次遇见。 最近后台总有朋友留言&#xff0c;能不能每一章配上音频&#xff0c;这样平时开车或挤地铁时也能听听。 谢谢你们在开车和挤地铁的时候都会产生听这本书的冲动。 五一抽空先把前十章的音频转录出来&#xff0c;希望你们…...

AI面试必刷算法题 附答案和解析 --持续更新中

面试中发现很多同学一股脑优化、润色项目经历&#xff0c;但聊到基本的算法&#xff0c;反而会一脸懵X&#xff0c;得空整理下算法题给大家&#xff0c;希望对你有帮助。 1. tail(head(tail(C))) ( ) 已知广义表: A(a,b), B(A,A), C(a,(b,A),B), 求下列运算的结果:&#xff08…...

聊一聊 GDB 调试程序时的几个实用命令

一&#xff1a;背景 1. 讲故事 用惯了宇宙第一的 Visual Studio 再用其他的开发工具还是有一点不习惯&#xff0c;不习惯在于想用的命令或者面板找不到&#xff0c;总的来说还是各有千秋吧&#xff0c;今天我们来聊一下几个在调试中比较实用的命令&#xff1a; 查看内存硬件…...

MySQL驱动对MYSQL进行update操作时返回值注意UseAffectedRows

数据库upate更新表时经常要用&#xff0c;update的结果进行一些逻辑判断&#xff0c;如返回值大于1表示更新成功&#xff0c;为0表示更新失败。 但是使用Mysql驱动连接数据库并进行update操作时&#xff0c;返回值可能不在预期。 update iwrs_drug_order set status2 where …...

OpenCV-Python图像几何变换

概念&#xff1a;几何变换是指将一幅图像映射到另外一幅图像内的操作。OpenCV提供了多个与映射有关的函数&#xff0c;这些函数使用起来方便灵活&#xff0c;能够高效地完成图像的映射。 缩放 cv2.resize()函数用于缩放图像 det cv2.resize(src, dsize[,dst[,fx[,fy[,interp…...

国民技术N32G430开发笔记(15)- IAP升级 树莓派串口发送数据

IAP升级 树莓派串口发送数据 1、树莓派接入usb转串口模块后&#xff0c;会生成/dev/ttyUSB0节点&#xff0c;因为树莓派内核已经编译usb_serial以及各模块的驱动。 我们直接对ttyUSB0节点编程即可。 2、协议同上一节 cmd data_lenght data0 … datax checksum 1、获取版本…...

svo论文解读

SVO: Semi-Direct Visual Odometry for Monocular and Multi-Camera Systems 2016TRO MOTION ESTIMATION 1 Sparse Image Alignment 从上一帧的特征投影到当前帧&#xff0c;最小化重投影误差计算帧间位姿&#xff08;patch44&#xff09; 2 Relaxation Through Feature Alig…...

DolphinScheduler海豚调度教程

DolphinScheduler 教程 &#xff08;一&#xff09;入门指南 简介 关于Dolphin Apache DolphinScheduler是一个分布式易扩展的可视化DAG工作流任务调度开源系统。解决数据研发ETL 错综复杂的依赖关系&#xff0c;不能直观监控任务健康状态等问题。DolphinScheduler以DAG流式…...

ubuntu脚本解释器踩坑:#!/bin/bash 与 #!/bin/sh

前言&#xff1a; 博主正在写linux的脚本的时候遇到&#xff1a;xx.sh: 3: Syntax error: "(" unexpected 查看shell脚本语法没有问题&#xff0c;后面发现是解释器的原因。 一、不同的解释器 #!是特殊的表示符&#xff0c;其后面根的是此解释此脚本的shell的路径…...

小松鼠踩一踩游戏

文章目录 一、 介绍和知识点九、UnityFacade 门面设计模式二、 声音全局管理器测试音频代码UI全局管理器父类抽象类 BaseManager子类 UIManager 四、 UI按钮的引用父类 BasePanel子类主面板 MainPanel子类 游戏中 GamePanel子类 游戏结果 ResultPanel 角色动画器、控制角色移动…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...