(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. 报错

解:自上而下的动作有:

  1. 匹配终结符,则前往下一个。
  2. 展开非终结符,逆序放入符号栈。
  3. 成功:栈顶和剩余输入都是$。
  4. 出错:调用错误恢复例程。

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部分习题答案+解读(逐渐更新..相关推荐

  1. 计算机网络原理课后作业答案,自考04741《计算机网络原理》课后习题答案

    自考04741<计算机网络原理>课后习题答案 第1章节 计算机网络概述 1. 计算机网络的发展可以分为哪几个阶段?每个阶段各有什么特点? A 面向终端的计算机网络:以单个计算机为中心的远程 ...

  2. 计算机网络原理李全龙答案,自考04741《计算机网络原理》课后习题答案.doc

    PAGE 自考04741<计算机网络原理>课后习题答案 第一章 PSE:分组交换设备?? PAD:分组装配.拆卸装备 NCC:网络控制中心 FEP:前端处理机 IMP:接口信息处理机 PS ...

  3. 吉林大学软件学院编译原理与实现习题(二) 期末复习用

    一.单选题 1.不是DFA的构成成分的是: A.有穷字母表 B.初始状态集合 C.终止状态集合 D.有限状态集合 正确答案: B 根据DFA的定义可知,DFA只能有唯一确定的起始状态. 2.下面关于D ...

  4. 兀r2对应的c语言表达式是什么,数据库原理 关系运算 习题答案

    数据库系统原理第四章关系运算课后习题答案 4.1 名词解释 (1)关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型. (2)关系模式:关系模式实际上就是记录类型.它的定义包 ...

  5. C++程序设计原理与实践 习题答案 第二十六章 第26章习题答案

    第二十六章:测试 习题答案 本章的BinarySearch Binary_Search.h 26.2 26.2 测试集 26.3 26.4 26.5 26.8 and 26.9 26.8 测试集 26 ...

  6. C++程序设计原理与实践 习题答案 第九章 第9章习题答案

    第九章 习题答案 9.2 和 9.3 9.5 到 9.9 Library.h头文件 Library.cpp源文件 9.10 到 9.12 Chrono.h 头文件 Chrono.cpp源文件 main ...

  7. C++程序设计原理与实践 习题答案 第十五章 第15章习题答案

    第十五章:容器和迭代器 习题答案 Document 本章的文本编辑器实现,添加了一些功能 Document.h Document.cpp main.cpp 测试 List_Circular.h 我自己 ...

  8. C++程序设计原理与实践 习题答案 第十六章 第16章习题答案

    第十六章:算法和映射 习题答案 16.3 and 16.4, count, count_if 16.5 16.6 16.7 Binary Search 16.8 word frequency 16.9 ...

  9. 编译原理MOOC笔记

    编译原理笔记 正规文法和正规式 词法分析 前端 词法分析器的任务 词法分析器的实现方法 正则表达式 有限状态自动机 正则表达式到非确定有限状态自动机 语法分析 自上而下的语法分析 直接左递归的消除 间 ...

最新文章

  1. 我的hadoop学习之路
  2. LINUX下线程默认栈大小的设置
  3. Hadoop MapReduce
  4. A wizard’s guide to Adversarial Autoencoders: Part 2, Exploring latent space with Adversarial Autoen
  5. 【Spring】依赖注入 加载顺序
  6. 直播app源代码,单例模式
  7. dos批处理文件中使用vbs
  8. 《大型网站技术架构》学习笔记
  9. DSP-F28335与AD7606的并行模式调试问题
  10. 利用lasso回归建立预测模型并绘制列线图 二分类结局资料的lasso回归与列线图绘制
  11. SPSS作业-方差分析-双因素分析
  12. 【教程6】疯壳·ARM功能手机-中断实验教程
  13. Map集合通过value获取key的几种方式
  14. 波士顿房价预测python_多元线性回归—波士顿房价预测(版本一)
  15. 【PX4 飞控剖析】05 PIX4 连接QGC 可以烧录固件但是连接不上
  16. wifi万能钥匙破解隔壁无线网以及查看破解密码
  17. 云图-CADViewerX 7.X OCX
  18. canvas画七巧板
  19. 快手福虎迎春季短视频涨粉活动规则[快手获取商品详情]
  20. 【CSS布局】—— flex(弹性)布局

热门文章

  1. maven打包忽略注解_maven打包包含注释
  2. WARNING: Ignoring invalid distribution -p (c:\python39\lib\site-packages)
  3. 我们应该怎样使用开源软件
  4. LOGFONT结构体的说明
  5. KMPlayer show every frame timestamp
  6. Matlab画图常用的符号和颜色
  7. 使用Jscript[ASP,ASP.NET]开发本地QQ农场牧场的可行性
  8. 厂家及商家等头盔销售的质检报告怎么办理?
  9. makefile第2篇 makefile讲解
  10. CDH6.2安装Phoenix