【编译原理】第五章课后习题(王原生第三版)

前言

  • 课本: 编译原理(第三版)[王生原、董渊…等编著]
  • 习题: 主要习题内容是第一章到第八章,具体内容如下表
章节内容链接
第一章课后部分选择题https://blog.csdn.net/Zchengjisihan/article/details/136243955
第二章课后部分选择题https://blog.csdn.net/Zchengjisihan/article/details/136243955
第三章课后习题1(4)、5、9https://blog.csdn.net/Zchengjisihan/article/details/136264182
第四章课后习题1、2、3https://blog.csdn.net/Zchengjisihan/article/details/136264485
第五章课后习题1、4https://blog.csdn.net/Zchengjisihan/article/details/136264816
第六章课后习题11、15https://blog.csdn.net/Zchengjisihan/article/details/136276626
第七章课后习题2https://blog.csdn.net/Zchengjisihan/article/details/136277222
第八章课后习题1https://blog.csdn.net/Zchengjisihan/article/details/136277222

1. 已知文法G[S]为

S → a ∣ ∧ ∣ ( T ) S\to a|\wedge|(T) Sa(T)
T → T , S ∣ S T\to T,S|S TT,SS
(1) 计算G[S]的FIRSTVT和LASTVT
(2) 构造G[S]的算符优先关系表并说明G[S]是否为算符优先文法
(3) 计算G[S]的优先函数
(4) 给出输入串 ( a , a ) # (a,a)\# (a,a)# ( a , ( a , a ) ) # (a,(a,a))\# (a,(a,a))#的算符优先分析过程

请添加图片描述请添加图片描述
请添加图片描述

在这里插入图片描述
请添加图片描述

4. 已知文法G[S]为

S → S ; G ∣ G S\to S;G|G SS;GG
G → G ( T ) ∣ H G\to G(T)|H GG(T)H
H → a ∣ ( S ) H\to a|(S) Ha(S)
T → T + S ∣ S T\to T+S|S TT+SS
(1) 构造G[S]的算符优先关系表,并判断G[S]是否为算符优先文法
(2) 给出句型 a ( T + S ) ; H ; ( S ) a(T+S);H;(S) a(T+S);H;(S)的短语、句柄、素短语和最左素短语
(3) 给出输入串 a ; ( a + a ) a;(a+a) a;(a+a) ( a , a ) + (a,a)+ (a,a)+的分析过程,说明他们是否为G[S]的句子
(4) 给出(3)中输入串的最右推导,分别说明两个输入串是否为G[S]的句子
(5) 由(3)和(4)说明了算符优先分析的哪些缺点
(6) 算符优先分析过程和规范规约过程都是最右推导的逆过程吗

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述


结束语

如果有疑问欢迎大家留言讨论,你如果觉得这篇文章对你有帮助可以给我一个免费的赞吗?我们之间的交流是我最大的动力!

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Linux的进程

在Linux中,可以使用多种方式来结束进程。以下是8种常见的方式: 终端中断(Ctrl C):在终端中运行的程序可以通过按下Ctrl C组合键来发送SIGINT信号,终止该进程的执行。 kill命令:使用kill命令可…

仿12306校招项目业务一(支付)

业务流程 1. 用户发起支付 当用户抢到票后,开始发起订单支付请求,假设选择支付宝作为支付方式,支付流程如下。 2. 支付结果回调 当用户支付完一笔订单,支付宝付款渠道接收到支付结果后,对请求支付的系统进行支付结果…

线程池(ThreadPoolExecutor,as_completed)和scrapy框架初步构建——学习笔记

用法1:map函数 with ThreadPoolExecutor() as pool: results pool.map(craw,utls)for result in results:print(result) 1.Scrapy框架: 五大结构:引擎,下载器,爬虫,调度器,管道&#x…

Flask数据库操作-Flask-SQLAlchemy

Flask中一般使用flask-sqlalchemy来操作数据库。flask-sqlalchemy的使用介绍如下: 一、SQLAlchemy SQLALchemy 实际上是对数据库的抽象,让开发者不用直接和 SQL 语句打交道,而是通过 Python 对象来操作数据库,在舍弃一些性能开销…

udp服务器【Linux网络编程】

目录 一、UDP服务器 1、创建套接字 2、绑定套接字 3、运行 1)读取数据 2)发送数据 二、UDP客户端 创建套接字: 客户端不用手动bind 收发数据 处理消息和网络通信解耦 三、应用场景 1、服务端执行命令 2、Windows上的客户端 3…

Visual Studio:Entity设置表之间的关联关系

1、选择表并右键-》新增-》关联 2、设置关联的表及关联关系并“确定”即可

基于Docker和Springboot两种方式安装与部署Camunda流程引擎

文章目录 前言1、Docker安装1.1、拉取Camunda BPM镜像1.2、编写docker启动camunda容器脚本1.3、docker启动脚本1.4、访问验证 2、SpringBoot启动2.1、下载地址2.2、创建SpringBoot项目并配置基础信息2.3、下载SpringBoot项目并在idea中打开2.4、pom修改2.5、application.yml配置…

软件实例,物流货运配货单打印模板软件单据打印查询管理系统软件教程,可以同时打印标签或补打

软件实例,物流货运配货单打印模板软件单据打印查询管理系统软件教程,可以同时打印标签或补打 一、前言 以下软件教程以 佳易王物流单打印查询系统V17.1为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 这个版本在原来基…

PyTorch概述(五)---LINEAR

torch.nn.Linear torch.nn.Linear(in_features,out_features,biasTrue,deviceNone,dtypeNone) 对输入的数据应用一个线性变换: 该模块支持TensorFLoat32类型的数据;在某些ROCm设备上,使用float16类型的数据输入时,该模块在反向传…

C++面试题精选与解析

C面试题精选与解析 一、基础与语法 请问C中的指针和引用有什么区别? 指针是一个变量,存储的是另一个变量的内存地址。指针可以被重新赋值以指向另一个不同的对象。而引用是某个变量的别名,一旦引用被初始化为一个变量,就不能改变…

Java 学习和实践笔记(20):static的含义和使用

static的本义是静止的。在计算机里就表示静态变量。 在Java中,从内存分析图上可以看到,它与类、常量池放在一个区里: 从图可以看到,普通的方法和对象属性,都在heep里,而static则在方法区里。 static声明的…

数据结构-查找与排序

数据结构再往后就是比较零散的各种操作&#xff0c;查找与排序是其中最常出现的&#xff0c;今天来总结一下常用的查找与排序所用的方法 查找 顺序查找 最简单的查找方式&#xff0c;遍历&#xff0c;然后比较 bool search1(int *a,int n,int k){for (int i1;i<n;i){//遍…

Guitar Pro8.2吉他软件2024中文版功能特点介绍

Guitar Pro 8.2是一款功能强大的吉他乐谱软件&#xff0c;专为吉他手、音乐制作人和音乐爱好者设计。它提供了丰富的功能&#xff0c;帮助用户轻松创建、编辑、打印和分享吉他乐谱。以下是Guitar Pro 8.2的主要功能特点&#xff1a; Guitar Pro 2024 win-安装包下载如下&#x…

【Redis】常见的5种数据类型(上)

文章目录 1 :peach:前言:peach:2 :peach:Redis 基本的全局命令:peach:2.1 :apple:keys:apple:2.2 :apple:exists:apple:2.3 :apple:del:apple:2.4 :apple:expire:apple:2.5 :apple:ttl:apple:2.6 :apple:type:apple: 3 :peach:单线程架构:peach:4 :peach:Redis 的 5 种常见数据…

Java面试题之Redis

Redis相关面试题解 题一&#xff1a;RDB 和 AOF 机制的优缺点RDB&#xff1a;Redis DataBaseAOF&#xff1a;Append Only File 题二&#xff1a;Redis的过期键的删除策略惰性过期定期过期 题三&#xff1a;Redis线程模型、单线程快的原因题四&#xff1a;简述Redis事务实现1、事…

【Java程序员面试专栏 数据结构】六 高频面试算法题:字符串

一轮的算法训练完成后,对相关的题目有了一个初步理解了,接下来进行专题训练,以下这些题目就是汇总的高频题目,本篇主要聊聊数组,包括数组合并,滑动窗口解决最长无重复子数组问题,图形法解下一个排列问题,以及一些常见的二维矩阵问题,所以放到一篇Blog中集中练习 题目…

LeetCode LCR 085.括号生成

正整数 n 代表生成括号的对数&#xff0c;请设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”] 示例 2&#xff1a; 输入&#x…

5.1 Ajax数据爬取之初介绍

目录 1. Ajax 数据介绍 2. Ajax 分析 2.1 Ajax 例子 2.2 Ajax 分析方法 &#xff08;1&#xff09;在网页页面右键&#xff0c;检查 &#xff08;2&#xff09;找到network&#xff0c;ctrl R刷新 &#xff08;3&#xff09;找 Ajax 数据包 &#xff08;4&#xff09;…

python-mysql协程并发常用操作封装

目录 前言封装代码测试代码参考 前言 协程异步操作MYSQL是常用的&#xff0c;博主这里在GitHub上找了两个包&#xff0c;databases和aiomysql&#xff0c;第一个包除了mysql外还支持其他的数据库&#xff0c;且操作MYSQL时底层也是使用的aiomysql&#xff0c;但文档内容比较少…

Kodi设置界面语言为中文

Kodi设置界面语言为中文需要注意的一点就是&#xff0c;先要设置&#xff1a;皮肤&#xff08;Skin&#xff09;---》字体&#xff08;Fonts&#xff09;---》基于Arial字体&#xff08;Arial based&#xff09;&#xff0c;否则在设置后&#xff1a;区域&#xff08;Regional&…