第二章 作业(6789B)【编译原理】
第二章 作业【编译原理】
- 前言
- 推荐
- 第二章 作业
- 6
- 7
- 8
- 9
- 11
- 最后
前言
以下内容源自《编译原理》
仅供学习交流使用
推荐
无
第二章 作业
6
6.令文法G6为
N→D|ND
D→0|1|2|3|4|5|6|7|8|9
(1)G6的语言L(G6)是什么?
(2)给出句子0127、34和568的最左推导和最右推导。
(1)L(G~6~)={0,1,2,3,4,5,6,7,8,9}^+^
(2)
①0127
左 N=>ND=>NDD=>NDDD=>DDDD=0DDD=>01DD=>012D=>0127
右 N=>ND=>N7=>ND7=>N27=>ND27=>N127=>D127=>0127.
②34
左 N=>ND=>DD=>3D=>34
右 N=>ND=>N4=>D4=>34
③568
左 N=>ND=>NDD=>DDD=>5DD=>56D=>568
右 N=>ND=>N8=>ND8=>N68=>D68=>568
7
7.写一个文法,使其语言是奇数集,且每个奇数不以0开头。
G~7~(S):S->NZO|ON->1|2|3|4|5|6|7|8|9Z->XZ|εX->0|1|2|3|4|5|6|7|8|9O->1|3|5|7|9
8
8.令文法为
E→T|E+T|E-T
T→F|TFIT/F
F→(E)|i
(1)给出i+ ii、i* (i+i)的最左推导和最右推导;
(2)给出i+i+ i、i+i*i和i-i- i的语法树。
①i+ i*i
左 E=>E+T=>T+T=>F+T=>i+T=>I+T*F=>i+F*F=>I+i*F=>i+i*i
右 E=>E+T=>E+T*F=E+T*i=>E+F*i=>E+i*i=>T+i*i=>F+i*i=>i+i*i
②i* (i+i)
左 E=>T=>T*F=>F*F=>i*F=>i*(E)=>i*(E+T)=>i*(T+T)=>i*(F+T)=>i*(i+T)=>i*(i+F)=>i*(i+i)
右 E=>T=>T*F=>T*(E)=>T*(E+T)=>T*(E+F)=>T*(E+i)=>T*(T+i)=>T*(F+i)=>T*(i+i)=>F*(i+i)=>i*(i+i)
(2)语法树如图

9
9.证明下面的文法是二义的:
S→iSeS|iS|i
需证明:存在一个句子的语法树是不同的
iiiei的语法树如图
所以S→iSeS|iS|i是二义的

11
11.给出下面语言的相应文法
L1= {anbnci|n≥1, i≥0}
L2= {aibncn|n≥1,i≥0}
L3= {anbnambm|n, m≥0}
L4= {1n0m1m0n|n,m≥0}
①G1(S):S->XCX->aXbC->cC|ε
②G2(S):S->AXX->bXCA->aA|ε
③G3(S):S->XYX->aXb|εY->aYb|ε
④G4(S):S->1S0|0S1|ε
最后
祝大家逢考必过
点赞收藏关注哦
相关文章:
第二章 作业(6789B)【编译原理】
第二章 作业【编译原理】前言推荐第二章 作业678911最后前言 以下内容源自《编译原理》 仅供学习交流使用 推荐 无 第二章 作业 6 6.令文法G6为 N→D|ND D→0|1|2|3|4|5|6|7|8|9 (1)G6的语言L(G6)是什么? (2)给出句子0127、34和568的最左推导和最右推导。 (…...
【java】连续最大和、统计回文
目录 1.连续最大和 2.统计回文 1.连续最大和 链接:连续最大和_牛客题霸_牛客网 (nowcoder.com) 描述:一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3 输…...
AI真的快让我们失业了,从ChatGPT到Midjourney
参考文章: https://mp.weixin.qq.com/s/3RdHPPhYgDfB6KY6Y9Sk2A跟AI有关的新闻,一个接着一个。前一天你还和往常一样进入梦乡,第二天醒来就能被新的AI新闻“炸弹”震得心惊。 以ChatGPT为代表的AI语言模型,以Midjourney为代表的…...
JVM学习 GC垃圾回收机制 (堆内存结构、GC分类、四大垃圾回收算法)
🤖 作者简介:努力的clz ,一个努力编程的菜鸟 🐣🐤🐥 👀 文章专栏:《JVM 学习笔记》 ,本专栏会专门记录博主在学习 JVM 中学习的知识点,以及遇到的问题。 …...
ChatGPT 有哪些神奇的使用方式?
ChatGPT在语言处理领域有着非常广泛的应用,可以用来进行语音识别、文本摘要、问答系统、机器翻译、智能客服、情感分析、智能写作等方面的应用。随着技术的不断发展和进步,ChatGPT在未来的应用场景和领域也将会有更加广泛的拓展和应用。ChatGPT可以应用于…...
【JavaEE】Java设计模式-单例模式(饿汉式与懒汉式)
目录 1.设计模式是啥? 2.单例模式 2.1什么是单例模式 2.2饿汉模式 2.3懒汉模式 3.懒汉模式与饿汉模式的区别 3.1.线程安全方面 3.2.资源加载和性能 4.如何保证懒汉模式的线程安全 1.设计模式是啥? 设计模式是前人经过总结,通过…...
(算法基础)朴素版Prim算法
适用情景在最小生成树问题当中,涉及到权重和最小值。并且这个图是稠密图(n^2 ~ m)的情形下时间复杂度O(N^2)算法解释先得知道一下什么是无向图的生成树,树总该知道的吧,生成树就是包含这个无向图中的n个点,并且有n-1条边ÿ…...
第十四届蓝桥杯三月真题刷题训练——第 23 天
目录 第 1 题:长草 题目描述 输入描述 输出描述 输入输出样例 运行限制 代码: 思路: 第 2 题:蓝肽子序列_LCS_最长公共子序列dp问题 题目描述 输入描述 输出描述 输入输出样例 运行限制 代码: 思路&am…...
基于springboot实现医院信息管理系统【源码+论文】
基于springboot实现医院信管系统演示开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包…...
CODESYS增量式PID功能块(ST完整源代码)
增量式PID的详细算法公式和博途源代码,请参看下面的文章链接: 博途1200/1500PLC增量式PID算法(详细SCL代码)_博图scl语言pid增量编码器_RXXW_Dor的博客-CSDN博客SMART200PLC增量式PID可以参看下面这篇博文,文章里有完整的增量式PID算法公式,这里不在赘述西门子SMARTPLC增量…...
代码质量提升,代码扫描 review 之 Codacy 工具使用
目录一、什么是Codacy二、GitHub 上使用 Codacy三、Codacy上导入GitHub项目一、什么是Codacy Codacy 是用于代码 review 检测(即代码审查)的工具,目前支持对40多种编程语言检测,如 c、c、c#、java 、python、javascript 等。 Codacy 可用于 GitHub 和 …...
Centos Linux 正确安装 Redis 的方式
官方文档 Getting started with Redis | Redis 第一步 、下载源代码 源代码的下载方式有很多种,可以去源代码仓库下载,或者使用下面的命令下载 wget https://download.redis.io/redis-stable.tar.gz 第二步 、编译代码 tar -xzvf redis-stable.tar.…...
C++Primer第五版【阅读笔记】
CPrimer第五版 阅读笔记 第1章开始1.1 编写一个简单的C程序1.1.1 编译、运行程序1.2 初识输入输出第1章开始 学习一门新的程序设计语言的最好方法就是练习编写程序。 1.1 编写一个简单的C程序 每个C程序都包含一个或多个函数,其中一个必须命名为 main,…...
ERD Online 4.0.11 在线数据库建模、元数据协作平台(免费、私有部署)
ERD Online 是全球第一个开源、免费在线数据建模、元数据管理平台。提供简单易用的元数据设计、关系图设计、SQL查询等功能,辅以版本、导入、导出、数据源、SQL解析、审计、团队协作等功能、方便我们快速、安全的管理数据库中的元数据。 4.0.11 ❝ :memo: fix(erd):…...
3.数组算法、动态规划
文章目录数组算法1.数组表示2.基本操作3.插入操作算法实例1实例2输出3.删除操作算法实例1输出4.搜索操作算法实例2输出5.更新操作算法实3例输出2.动态规划对照实例1数组算法 Array是一个容器,可以容纳固定数量的项目,这些项目应该是相同的类型。大多数数…...
项目管理工具哪个好?最新排名
项目管理工具当下已经成为项目团队的重要榜首,一款合适好用的项目管理工具可以帮助处理很多机械化工作,将管理者更多精力投入到更有价值的工作中,还可以帮助团队组织和计划项目,跟踪进度,处理预算和协作。该如何挑选帮…...
650. 只有两个键的键盘——【Leetcode每日一题】
650. 只有两个键的键盘 最初记事本上只有一个字符 A 。你每次可以对这个记事本进行两种操作: Copy All(复制全部):复制这个记事本中的所有字符(不允许仅复制部分字符)。Paste(粘贴)…...
【平常心无焦虑探讨】未来谁将被淘汰—在日常网络安全工作中使用GPT的感受
作者:Eason_LYC 悲观者预言失败,十言九中。 乐观者创造奇迹,一次即可。 一个人的价值,在于他所拥有的。所以可以不学无术,但不能一无所有! 技术领域:WEB安全、网络攻防 关注WEB安全、网络攻防。…...
【C语言】深度理解指针(下)
一. 前言💎昨晚整理博客时突然发现指针还少了一篇没写,今天就顺便来补一补。上回书说到,emmm忘记了,没事,我们直接进入本期的内容:本期我们带来了几道指针相关笔试题的解析,还算是相对比较轻松的。话不多说…...
【树与二叉树】树与二叉树的概念及结构--详解介绍
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:数据结构 🎯长路漫漫浩浩,万事皆有期待 文章目录1.树概念及结构1.1 树…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
