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

· 浏览次数 : 0

小编点评

前言 课本:编译原理(第三版)[王生原、董渊..等编著] 习题: 主要习题内容是第一章到第八章,具体内容如下表 | 章节 | 课后部分选择题 | 章节内容链接 | | :---: | :---: | :--- | | 第一章 | https://blog.csdn.net/Zchengjisihan/article/details/136243955 | 课后部分选择题 | | 第二章 | https://blog.csdn.net/Zchengjisihan/article/details/136243955 | 课后部分选择题 | | 第三章 | https://blog.csdn.net/Zchengjisihan/article/details/136264182 | 课后习题1(4)、5、9 | | 第四章 | https://blog.csdn.net/Zchengjisihan/article/details/136264485 | 课后习题1、2、3 | | 第五章 | https://blog.csdn.net/Zchengjisihan/article/details/136264816 | 课后习题1、4 | | 第六章 | https://blog.csdn.net/Zchengjisihan/article/details/136276626 | 课后习题11、15 | | 第七章 | https://blog.csdn.net/Zchengjisihan/article/details/136277222 | 课后习题2 | | 第八章 | https://blog.csdn.net/Zchengjisihan/article/details/136277222 | 课后习题1 | 单选题 在数中出现非数字字符,可能是编译的()阶段报告的。 | 答案 | 阶段 | | :---: | :---: | | 词法分析 | 词法分析 | | 语法分析 | 语法分析 | | 语义分析 | 语义分析 | | 代码生成 | 代码生成 | Else没有匹配的if,可能是编译的()阶段报告的。 | 答案 | 阶段 | | :---: | :---: | | 词法分析 | 词法分析 | | 语法分析 | 语法分析 | | 语义分析 | 语义分析 | | 代码生成 | 代码生成 | 源程序是句子的集合,()可以较好地反映句子的结构。 | 答案 | 形式 | | :---: | :---: | | 线性表 | 线性表 | | 树 | 树 | | 完全图 | 完全图 | | 堆栈 | 堆栈 | 编译程序绝大多数时间花在()上。 | 答案 | 阶段 | | :---: | :---: | | 出错管理 | 出错管理 | | 词法分析 | 目标代码生成 | | 表格管理 | 表格管理 | 通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等六个部分,还应包括()。 | 答案 | 类型 | | :---: | :---: | | 模拟执行器 | 解释器 | | 表格处理和出错处理 | 表格处理和出错处理 | | 符号执行器 | 符号执行器 | ()不是编译程序的组成部分。 | 答案 | 组件 | | :---: | :---: | | 词法分析程序 | 词法分析程序 | | 代码生成程序 | 代码生成程序 | | 设备管理程序 | 设备管理程序 | | 语法分析程序 | 语法分析程序 | 用高级语言编写的程序经编译后产生的程序叫()。 | 答案 | 类型 | | :---: | :---: | | 源程序 | 源程序 | | 目标程序 | 目标程序 | | 连接程序 | 连接程序 | | 解释程序 | 解释程序 | BASIC C FORTRAN PASCAL 在自底向上的语法分析方法中,分析的关键是()。 | 答案 | 关键 | | :---: | :---: | | 寻找句柄 | 寻找句型 | | 消除递归 | 消除递归 | | 选择候选式 | 选择候选式 | | 采用自上而下语法分析,必须() | 消除回溯 | | 消除左递归 | 消除左递归 | | 消除右递归 | 消除右递归 | 提取公共左因子 描述一个语言的文法是()。 | 答案 | 特性 | | :---: | :---: | | 唯一的 | 唯一的 | | 可能唯一 | 可能唯一 | 给定文法\(G[A]\):\(A\\to ε,A\\to aB,B\\to Ab,B\\to a\),为该文法句子的是()。 | 答案 | 句子 | | :---: | :---: | | bba | bba | | cab | cab | | bca | bca | | cba | cba | 如果文法G是无二义的,则它的任何句子α()。 | 答案 | 特性 | | :---: | :---: | | 最左推导和最右推导对应的语法树必定相同 | 最左推导和最右推导对应的语法树必定相同 | | 最左推导和最右推导可能不同 | 最左推导和最右推导可能不同 | | 最左推导和最右推导必定相同 | 最左推导和最右推导必定相同 | 可能存在两个不同的最左推导,但它们对应的语法树相同 一个句型中最左的()称为该句型的句柄。 | 答案 | 名称 | | :---: | :---: | | 直接短语 | 直接短语 | | 短语 | 短语 | | 终结符 | 终结符 | | 非终结符 | 非终结符 | 文法\(G[N]=(\\{b\\},\\{N,B\\},N,\\{N\\to b│bB,B\\to bN\\})\\),该文法所描述的语言是()。 | 答案 | 语言描述 | | :---: | :---: | | \(L(G[N])=\\{b^i | i \\le0\\}\\) | \(L(G[N])=\\{b^i | i \\le0\\}\\) | | \(L(G[N])=\\{b^{2i} | i \\le0\\}\\) | \(L(G[N])=\\{b^{2i} | i \\le0\\}\\) | | \(L(G[N])=\\{b^{2i+1} | i \\le0\\}\\) | \(L(G[N])=\\{b^{2i+1} | i \\le0\\}\\) | | \(L(G[N])=\\{b^{2i+1} | i \\le1\\}\\) | \(L(G[N])=\\{b^{2i+1} | i \\le1\\}\\) | 下面哪个不是单词的描述工具? | 答案 | 工具 | | :---: | :---: | | 正规式 | 正规式 | | 正规文法 | 正规文法 | | 有穷自动机 | 有穷自动机 | | 下推自动机 | 下推自动机 | 词法分析器的输出结果是()。 | 答案 | 结果 | | :---: | :---: | | 单词自身值 | 单词自身值 | | 单词在符号表中的位置 | 单词在符号表中的位置 | | 单词的种别编码 | 单词的种别编码 | | 单词的种别编码和自身值 | 单词的种别编码和自身值 | 自顶向下分析过程是一种试探过程,需要进行回溯。 | 答案 | 特性 | | :---: | :---: | | 对 | 错误 | | 每个文法都能改写成LL(1)文法。 | 错误 | | 多选题 | 数组下标越界,可能是编译的()阶段报告的。 | 答案 | 阶段 | | :---: | :---: | | 词法分析 | 词法分析 | | 语法分析 | 语法分析 | | 语义分析 | 语义分析 | | 代码生成 | 代码生成 | 语法分析最常用的两类方法是? | 答案 | 方法 | | :---: | :---: | | 自顶向下 | 自顶向下 | | 自底向上 | 自底向上 | 语法树 | 语法树 | 上下文无关文法 | 上下文无关文法 | 结束语 如果有疑问欢迎大家留言讨论,你如果觉得这篇文章对你有帮助可以给我一个免费的赞吗?我们之间的交流是我最大的动力!

正文

前言

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

单选题

  1. 在数中出现非数字字符,可能是编译的()阶段报告的。

  2. 使用的函数没有定义,可能是编译的()阶段报告的。

  3. Else没有匹配的if,可能是编译的()阶段报告的。

  4. 源程序是句子的集合,()可以较好地反映句子的结构。

  5. 编译程序绝大多数时间花在()上。

  6. 通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等六个部分,还应包括()。

  7. ()不是编译程序的组成部分。

  8. 用高级语言编写的程序经编译后产生的程序叫()

  9. ()是一种典型的解释型语言。

  10. 在自底向上的语法分析方法中,分析的关键是()

  11. 采用自上而下语法分析,必须( )。

  12. 描述一个语言的文法是( )

  13. 给定文法\(A \to bA | ca\),为该文法句子的是( )

  14. 如果文法G是无二义的,则它的任何句子α( )

  15. 一个句型中最左的( )称为该句型的句柄。

  16. 文法\(G[A]:A→ε A→aB B→Ab B→a\)是(  )

  17. “上下文无关文法”是描述 ()的工具。

  18. 编译程序中词法分析器所完成的任务是从源程序识别出一个一个具有独立意义的( )

  19. 若一个文法G定义的语言是无限的,则文法必然是( )

  20. 下面不是翻译程序的是( )

  21. 编译程序中语法分析器接收以( )为单位的输入。

  22. 若一个文法是递归的,则它产生的句子个数是( )。

  23. 设G是一个给定的文法,\(S\)是文法的开始符号,如果\(S→x\)(其中,\(x∈V^*\)),则称\(x\)是文法G的一个( )。

  24. 文法\(G[N]=(\{b\},\{N,B\},N,\{N→b│bB,B→bN\})\) ,该文法所描述的语言是( )

  25. 下面哪个不是单词的描述工具?

  26. 词法分析器的输出结果是()。

  27. 自顶向下分析过程是一种试探过程,需要进行回溯。

  28. 每个文法都能改写成LL(1)文法。

多选题

  1. 数组下标越界,可能是编译的()阶段报告的。

  2. 语法分析最常用的两类方法是 ?


结束语

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

与【编译原理】第一二章课后习题(王原生第三版)相似的内容:

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

前言 课本: 编译原理(第三版)[王生原、董渊..等编著] 习题: 主要习题内容是第一章到第八章,具体内容如下表 章节 内容 链接 第一章 课后部分选择题 https://blog.csdn.net/Zchengjisihan/article/details/136243955 第二章 课后部分选择

[转帖]HikariCP常用监控指标与故障排查实战

编者有言:本书由资深数据库连接池专家撰写,褚霸、德哥、张亮、吴晟等近10位专家高度评价,从设计思想、功能使用、原理实现、工程实践、技术扩展5个维度对HikariCP进行全面讲解和深入分析。 本文将带你抢先阅读 第10章及第14章节选内容 作者介绍 朱政科,资深架构师,十年IT老兵,对各种数据库连接池

深入理解多线程编程

title: 深入理解多线程编程 date: 2024/4/25 17:32:02 updated: 2024/4/25 17:32:02 categories: 后端开发 tags: 线程同步 互斥锁 死锁避免 竞态条件 线程池 异步编程 性能优化 第一章:多线程基础 1.1 线程概念与原理 线程

曲线艺术编程第一章 coding curves

> 原作:Keith Peters > 原文:https://www.bit-101.com/blog/2022/11/coding-curves/ > 译者:池中物王二狗(sheldon) > blog: http://cnblogs.com/willian/ > 源码与中英对照:github:

曲线艺术编程 coding curves 第二章 三角函数曲线(TRIG CURVES)

# 第二章 三角函数曲线(TRIG CURVES) > 原作:Keith Peters > 原文:https://www.bit-101.com/blog/2022/11/coding-curves/ > 译者:池中物王二狗(sheldon) > blog: http://cnblogs.com/w

曲线艺术编程 coding curves 第十二章 玑镂(扭索)纹

# 第十二章 玑镂(扭索)纹 > 原作:Keith Peters https://www.bit-101.com/blog/2022/11/coding-curves/ > > 译者:池中物王二狗(sheldon) > > > 源码:github: https://github.com/willia

多线程合集(三)---异步的那些事之自定义AsyncTaskMethodBuilder

引言 之前在上一篇文章中多线程合集(二) 异步的那些事,async和await原理抛析,我们从源码去分析了async和await如何运行,以及将编译后的IL代码写成了c#代码,以及实现自定义的Awaiter,自定义异步状态机同时将本系列的第一篇文章的自定义TaskScheduler和自定义的Awai

[转帖]常用JVM虚拟机参数说明

常用JVM虚拟机参数说明 原文地址:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html 非标准选项 参数说明-Xcomp强制JVM虚拟机在方法第一次被调用的时候就进行本地编译。-Xint强制JVM运行在解释模式。在

有手就会的 Java 处理压缩文件

@目录前言背景第一步:编写代码1.1 请求层1.2 业务处理层1.3 新增配置第二步:解压缩处理2.1 引入依赖2.2 解压缩工具类总结 前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i、 提示:以下是本篇文章正文内容,下面案例可供参考 背景 在项目出现上传文件,其中文件包含压缩包,并

docker 修改运行容器环境变量,如何修改容器中的环境变量env使长期有效

@目录前言第一步:查看Docker Root目录第二步:查到容器的长id(container id)第三步:停止容器第四步:编辑修改环境变量env第五步:重载服务的配置文件第六步:重启docker总结 前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i、 提示:以下是本篇文章正文内容,下