前言
- 课本: 编译原理(第三版)[王生原、董渊…等编著]
- 习题: 主要习题内容是第一章到第八章,具体内容如下表
章节 | 内容 | 链接 |
---|---|---|
第一章 | 课后部分选择题 | 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 |
单选题
-
在数中出现非数字字符,可能是编译的()阶段报告的。
- 词法分析
- 语法分析
- 语义分析
- 代码生成
-
使用的函数没有定义,可能是编译的()阶段报告的。
- 词法分析
- 语法分析
- 语义分析
- 代码生成
-
Else没有匹配的if,可能是编译的()阶段报告的。
- 词法分析
- 语法分析
- 语义分析
- 代码生成
-
源程序是句子的集合,()可以较好地反映句子的结构。
- 线性表
- 树
- 完全图
- 堆栈
-
编译程序绝大多数时间花在()上。
- 出错管理
- 词法分析
- 目标代码生成
- 表格管理
-
通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等六个部分,还应包括()。
- 模拟执行器
- 解释器
- 表格处理和出错处理
- 符号执行器
-
()不是编译程序的组成部分。
- 词法分析程序
- 代码生成程序
- 设备管理程序
- 语法分析程序
-
用高级语言编写的程序经编译后产生的程序叫()
- 源程序
- 目标程序
- 连接程序
- 解释程序
-
()是一种典型的解释型语言。
- BASIC
- C
- FORTRAN
- PASCAL
-
在自底向上的语法分析方法中,分析的关键是()
- 寻找句柄
- 寻找句型
- 消除递归
- 选择候选式
-
采用自上而下语法分析,必须( )。
- 消除回溯
- 消除左递归
- 消除右递归
- 提取公共左因子
-
描述一个语言的文法是( )
- 唯一的
- 不唯一
- 可能唯一
-
给定文法 A → b A ∣ c a A \to bA | ca A→bA∣ca,为该文法句子的是( )
- bba
- cab
- bca
- cba
-
如果文法G是无二义的,则它的任何句子α( )
- 最左推导和最右推导对应的语法树必定相同
- 最左推导和最右推导对应的语法树可能不同
- 最左推导和最右推导必定相同
- 可能存在两个不同的最左推导,但它们对应的语法树相同
-
一个句型中最左的( )称为该句型的句柄。
- 直接短语
- 短语
- 终结符
- 非终结符
-
文法 G [ A ] : A → ε A → a B B → A b B → a G[A]:A→ε A→aB B→Ab B→a G[A]:A→εA→aBB→AbB→a是( )
- 0型文法
- 1型文法
- 2型文法
- 3型文法
-
“上下文无关文法”是描述 ()的工具。
- 词法
- 语法
- 语义
- 2型文法
-
编译程序中词法分析器所完成的任务是从源程序识别出一个一个具有独立意义的( )
- 表达式
- 语句
- 过程
- 单词符号
-
若一个文法G定义的语言是无限的,则文法必然是( )
- 递归的
- 上下文有关的
- 二义的
- 无二义的
-
下面不是翻译程序的是( )
- 汇编程序
- 源程序
- 编译程序
- 解释程序
-
编译程序中语法分析器接收以( )为单位的输入。
- 句子
- 表达式
- 单词
- 产生式
-
若一个文法是递归的,则它产生的句子个数是( )。
- 有限个
- 无穷个
- 可能有限个
- 以上均不对
-
设G是一个给定的文法, S S S是文法的开始符号,如果 S → x S→x S→x(其中, x ∈ V ∗ x∈V^* x∈V∗),则称 x x x是文法G的一个( )。
- 产生式
- 单词
- 候选式
- 句型
-
文法 G [ N ] = ( { b } , { N , B } , N , { N → b │ b B , B → b N } ) G[N]=(\{b\},\{N,B\},N,\{N→b│bB,B→bN\}) G[N]=({b},{N,B},N,{N→b│bB,B→bN}) ,该文法所描述的语言是( )
- L ( G [ N ] ) = { b i ∣ i ≤ 0 } L(G[N])=\{b^i | i \le0\} L(G[N])={bi∣i≤0}
- L ( G [ N ] ) = { b 2 i ∣ i ≤ 0 } L(G[N])=\{b^{2i} | i \le0\} L(G[N])={b2i∣i≤0}
- L ( G [ N ] ) = { b 2 i + 1 ∣ i ≤ 0 } L(G[N])=\{b^{2i+1} | i \le0\} L(G[N])={b2i+1∣i≤0}
- L ( G [ N ] ) = { b 2 i + 1 ∣ i ≤ 1 } L(G[N])=\{b^{2i+1} | i \le1\} L(G[N])={b2i+1∣i≤1}
-
下面哪个不是单词的描述工具?
- 正规式
- 正规文法
- 有穷自动机
- 下推自动机
-
词法分析器的输出结果是()。
- 单词自身值
- 单词在符号表中的位置
- 单词的种别编码
- 单词的种别编码和自身值
-
自顶向下分析过程是一种试探过程,需要进行回溯。
- 对
- 错
-
每个文法都能改写成LL(1)文法。
- 对
- 错
多选题
-
数组下标越界,可能是编译的()阶段报告的。
- 词法分析
- 语法分析
- 语义分析
- 代码生成
-
语法分析最常用的两类方法是 ?
- 自顶向下
- 自底向上
- 语法树
- 上下文无关文法
结束语
如果有疑问欢迎大家留言讨论,你如果觉得这篇文章对你有帮助可以给我一个免费的赞吗?我们之间的交流是我最大的动力!