编译原理MOOC部分习题答案+解读(逐渐更新..
(10条消息) 编译原理习题_hasp_Jason的博客-CSDN博客
实在是抽不开身(菜鸡本菜),这是某位大佬整理好的,可以直接看Ta的~
Ta的错误:
1.本题应该选C,Ta误选为A!
前言:由于笔者今年正在学HIT大三下的编译原理,为适应新时代学习方法,特在此写笔记方便日后复习使用(预计5月末考试?......),这里会定时更新,取决于笔者自学的速度,题目是我认为比较好的,所以放在了这里,欢迎交流与指正!
目录
目录
第一章:绪论
第二章:程序设计语言及其文法
第三章:词法分析
第四章. 语法分析_1
第四章. 语法分析_2
第四章. 语法分析_3
第四章. 语法分析_4
第七章 运行存储分配
第一章:绪论
1. 编译程序中语法分析器接收以( A)为单位的输入
A.单词 B.表达式 C.产生式 D.句子
2. 按逻辑上划分,编译程序第三步工作是(A )。
A.语义分析
B.词法分析
C.语法分析
D.代码生成
解读: 从前到后依次为:词法分析、语法分析、语义分析...
3. 用高级语言编写的程序经编译后产生的程序叫( B).
A.源程序
B.目标程序
C.连接程序
D.解释程序
解读:编译是把源程序变成目标程序的过程
4. 编译程序是一种( B)。
A.汇编程序
B.翻译程序
C.解释程序
D.目标程序
5. ( C )不是编译程序的组成部分。
A.词法分析程序
B.代码生成程序
C.设备管理程序
D.语法分析程序
解读:编译过程的5个阶段分别是:词法分析,语法分析,语义分析与中间代码生产,代码优化,目标代码生成。
6.通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等六个部分,还应包括( D)。
A.符号执行器
B.模拟执行器
C.解释器
D.表格处理和出错处理
7.将编译程序分成若干“遍”,是为了( D)。
A.利用有限的机器内存并提高机器的执行效率
B.提高程序的执行效率
C.利用有限的机器内存但降低了机器的执行效率
D.使程序的结构更为清晰
第二章:程序设计语言及其文法
1. 文法E→E+E|E*E|i的句子i*i+i*i有( D)棵不同的语法树。
A.1 B.3 C.5 D.7
解读:如图所示:
2. 由文法的开始符号出发经过若干步(包括0步)推导产生的文法符号序列称为( B)
A.语言 B.句型 C.句子 D.句柄
解读:产生的序列可能含有非终结符,不一定为句子
第三章:词法分析
1. 词法分析器的输出结果是( D)。
A.单词自身值
B.单词在符号表中的位置
C.单词的种别编码
D.单词的种别编码和自身值
解答:MOOCppt中的原话
2. 词法分析器不能( D)。
A.识别出数值常量
B.过滤源程序中的注释
C.扫描源程序并识别记号
D.发现括号不匹配
解答:A、B是显然的,如B可以通过识别/*..*/的自动机来实现,
C选项,笔者是在百度百科的词法分析器的基本定义找到的,传送门:词法分析器
D选项:“发现括号不匹配”为语法分析器的功能。
3. 词法分析器用于识别 单词,加工对象是 源程序
4.一个正规式只能对应一个确定的有限状态自动机(×)
解答:只有状态最少的DFA是唯一的。学过《形式语言与自动机》的应该了解,某些DFA是可以通过等价类化简的,所以题目的1对1表达并不准确。
第四章. 语法分析_1
1. 如果文法G是无二义的,则它的任何 句子/句型 α( D)
A. 可能存在两个不同的最左推导,但它们对应的语法树相同
B. 最左推导和最右推导必定相同
C.最左推导和最右推导对应的语法树可能不同
D.最左推导和最右推导对应的语法树必定相同
解:因为是无二义性的,所以答案显然
第四章. 语法分析_2
1 在语法分析处理中,FIRST集合、FOLLOW集合均是(B )。
A. 非终结符集
B. 终结符集
C. 字母表
D. 状态集
2 在编译过程中,如果遇到错误应该( C)。
A. 把错误理解成局部的错误
B. 对错误在局部范围内进行纠正,继续向下分析
C. 当发现错误时,跳过错误所在的语法单位继续分析下去
D. 当发现错误时立即停止编译,待用户改正错误后再继续编译
第四章. 语法分析_3
1 一个句型中的( A)称为该句型的句柄。
A. 最左直接短语
B. 最右直接短语
C. 终结符
D. 非终结符
解:句柄也叫最左直接短语->直接短语是高度为2的子树的边缘->边缘是语法分析树的叶子结点
2 在自底向上的语法分析方法中,分析的关键是(A )。
A. 寻找句柄
B. 寻找句型
C. 消除递归
D. 选择候选式
3 在自顶向下的语法分析方法中,分析的关键是( D)。
A. 寻找句柄
B. 寻找句型
C. 消除递归
D. 选择候选式
4 在规范归约中,用( B)来刻画可归约串。
A. 直接短语
B. 句柄
C. 最左素短语
D. 素短语
解:规范规约是最左规约,即自下而上采取的分析动作,所以是句柄,同问题2
5 下列动作中,不是自下而上分析动作的是( B)。
A. 移进
B. 展开
C. 接受
D. 报错
解:自下而上的动作有:
6 下列动作中,不是自上而下分析动作的是( C)。
A. 匹配
B. 展开
C. 移进
D. 报错
解:自上而下的动作有:
- 匹配终结符,则前往下一个。
- 展开非终结符,逆序放入符号栈。
- 成功:栈顶和剩余输入都是$。
- 出错:调用错误恢复例程。
7 设有文法G[T]:
T→T*F|F
F→F↑P|P
P→(T)|a
该文法句型T*P↑(T*F)的句柄是下列符号串 ( C ) 。
A. (T*F)
B. T*F
C. P
D. P↑(T*F)
解:句柄是最左直接短语,画出题目的语法分析树可以直接短语有P,T*F,而P在T*F的左边
8 LR分析表中的转移表(goto)是以(B)作为列标题的。
A. 终结符
B. 非终结符
C. 终结符或非终结符
D. 表示状态的整型数
9 LR分析表中的动作表(action)是以( C)作为列标题的。
A. 终结符
B. 非终结符
C. 终结符或非终结符
D. 终结符和结束符$
解:以SLR分析表为例:
第四章. 语法分析_4
1 一个LR(1)文法合并同心集后若不是LALR(1)文法( B)
A. 则可能存在移进/归约冲突
B. 则可能存在归约/归约冲突
C. 则可能存在移进/归约冲突和归约/归约冲突
D. 以上说法都不对
解:同心项目集合并的是展望符的集合,展望符只对归约有用,所以可能会引入归约/归约冲突。
2 若状态k含有项目“A→α· ”,且仅当输入符号a∈FOLLOW(A)时,才用规则“A →α”归约的
语法分析方法是( D)。
A. LALR分析法
B. R(0)分析法
C. LR(1)分析法
D. SLR(1)分析法
解读:仅使用FOLLOW集的元素这一特点可以判断出是SLR文法,即SLR(1),特殊展望符的为LALR(1)/LR(1),全都使用的为LR(0)文法
3 LR(1)文法都是(C )。
A. 无二义性且无左递归
B. 可能有二义性但无左递归
C. 无二义性但可能是左递归
D. 可以既有二义性又有左递归
解:LR(1)文法是确定性文法,一定不是二义性文法,但LR(1)文法在生成过程中不同于LL(1)文法需要先消除左递归,所以可能产生含有左递归的LR(1)文法
4 就文法的描述能力来说,有( C)。
A. SLR(1) ⊂ LR(0)
B. LR(1) ⊂ LR(0)
C. SLR(1) ⊂ LR(1)
D. 无二义文法 ⊂ LR(1)
解:
LALR(1)文法介于LR文法与SLR文法之间,因为推迟了发现错误的能力,但仍然使用展望符。
5 编译程序的语法分析器必须输出的信息是( B)。
A. 语法规则信息
B. 语法错误信息
C. 语法分析过程
D. 语句序列
解读:可联想自己的一些IDE...
第七章 运行存储分配
只能记住..
编译原理MOOC部分习题答案+解读(逐渐更新..相关推荐
- 计算机网络原理课后作业答案,自考04741《计算机网络原理》课后习题答案
自考04741<计算机网络原理>课后习题答案 第1章节 计算机网络概述 1. 计算机网络的发展可以分为哪几个阶段?每个阶段各有什么特点? A 面向终端的计算机网络:以单个计算机为中心的远程 ...
- 计算机网络原理李全龙答案,自考04741《计算机网络原理》课后习题答案.doc
PAGE 自考04741<计算机网络原理>课后习题答案 第一章 PSE:分组交换设备?? PAD:分组装配.拆卸装备 NCC:网络控制中心 FEP:前端处理机 IMP:接口信息处理机 PS ...
- 吉林大学软件学院编译原理与实现习题(二) 期末复习用
一.单选题 1.不是DFA的构成成分的是: A.有穷字母表 B.初始状态集合 C.终止状态集合 D.有限状态集合 正确答案: B 根据DFA的定义可知,DFA只能有唯一确定的起始状态. 2.下面关于D ...
- 兀r2对应的c语言表达式是什么,数据库原理 关系运算 习题答案
数据库系统原理第四章关系运算课后习题答案 4.1 名词解释 (1)关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型. (2)关系模式:关系模式实际上就是记录类型.它的定义包 ...
- C++程序设计原理与实践 习题答案 第二十六章 第26章习题答案
第二十六章:测试 习题答案 本章的BinarySearch Binary_Search.h 26.2 26.2 测试集 26.3 26.4 26.5 26.8 and 26.9 26.8 测试集 26 ...
- C++程序设计原理与实践 习题答案 第九章 第9章习题答案
第九章 习题答案 9.2 和 9.3 9.5 到 9.9 Library.h头文件 Library.cpp源文件 9.10 到 9.12 Chrono.h 头文件 Chrono.cpp源文件 main ...
- C++程序设计原理与实践 习题答案 第十五章 第15章习题答案
第十五章:容器和迭代器 习题答案 Document 本章的文本编辑器实现,添加了一些功能 Document.h Document.cpp main.cpp 测试 List_Circular.h 我自己 ...
- C++程序设计原理与实践 习题答案 第十六章 第16章习题答案
第十六章:算法和映射 习题答案 16.3 and 16.4, count, count_if 16.5 16.6 16.7 Binary Search 16.8 word frequency 16.9 ...
- 编译原理MOOC笔记
编译原理笔记 正规文法和正规式 词法分析 前端 词法分析器的任务 词法分析器的实现方法 正则表达式 有限状态自动机 正则表达式到非确定有限状态自动机 语法分析 自上而下的语法分析 直接左递归的消除 间 ...
最新文章
- 我的hadoop学习之路
- LINUX下线程默认栈大小的设置
- Hadoop MapReduce
- A wizard’s guide to Adversarial Autoencoders: Part 2, Exploring latent space with Adversarial Autoen
- 【Spring】依赖注入 加载顺序
- 直播app源代码,单例模式
- dos批处理文件中使用vbs
- 《大型网站技术架构》学习笔记
- DSP-F28335与AD7606的并行模式调试问题
- 利用lasso回归建立预测模型并绘制列线图 二分类结局资料的lasso回归与列线图绘制
- SPSS作业-方差分析-双因素分析
- 【教程6】疯壳·ARM功能手机-中断实验教程
- Map集合通过value获取key的几种方式
- 波士顿房价预测python_多元线性回归—波士顿房价预测(版本一)
- 【PX4 飞控剖析】05 PIX4 连接QGC 可以烧录固件但是连接不上
- wifi万能钥匙破解隔壁无线网以及查看破解密码
- 云图-CADViewerX 7.X OCX
- canvas画七巧板
- 快手福虎迎春季短视频涨粉活动规则[快手获取商品详情]
- 【CSS布局】—— flex(弹性)布局
热门文章
- maven打包忽略注解_maven打包包含注释
- WARNING: Ignoring invalid distribution -p (c:\python39\lib\site-packages)
- 我们应该怎样使用开源软件
- LOGFONT结构体的说明
- KMPlayer show every frame timestamp
- Matlab画图常用的符号和颜色
- 使用Jscript[ASP,ASP.NET]开发本地QQ农场牧场的可行性
- 厂家及商家等头盔销售的质检报告怎么办理?
- makefile第2篇 makefile讲解
- CDH6.2安装Phoenix