编译概念复习题
- 格式:pdf
- 大小:195.63 KB
- 文档页数:5
编译概念复习题(参考答案) 一、填空题 1.高级程序设计语言是根据 定义的。 A.词法规则 B.语法规则 C.语义规则 D.以上三项规则 2.编译程序各阶段工作都涉及到 。 A.词法分析 B.表格管理 C.语法分析 D.语义分析 3.编译程序将源程序加工成目标程序是 之间的转换。 A.词法 B.语法 C.语义 D.规则 4.解释程序和编译程序的区别在于 。 A.是否生成中间代码 B.加工的对象不同 C.使用的实现技术不同 D.是否生成目标程序 5.一遍扫描的编译程序的优点是 。 A.算法清晰 B.便于分工 C.便于优化 D.编译速度快 6.编译程序不能够检查、处理的错误是程序中的 。 A.静态语义错误 B.动态语义错误 C.语法错误 D.词法错误 7.开发一个编译程序应掌握 。 A.源语言 B.目标语言 C.编译技术 D.以上三项都是 8.中间代码生成所依据的是语言的 。 A.词法规则 B.语法规则 C.语义规则 D.产生规则
9.测试一个编译程序时使用的测试数据是 。 A.源程序 B.中间代码 C.目标程序 D.任意数据 10.可以作为目标代码的语言是 。 A.高级语言 B.中间语言 C.低级语言 D.程序设计语言 11.编译程序检查、处理源程序中的错误具体指的是 。 A.词法错误 B.语法错误 C.语义错误 D.以上三项都是 12.同正则表达式(a | b)+等价的正则表达式是 。 A.(a | b) * B.(a | b) (a | b) *
C.(a b)* (a b) D.(a | b)| (a | b)* 13.词法分析器的输出结果是 。 A.单词自身 B.单词的机内符 C.单词的词义信息 D.单词的词法信息 14.如果一个正则表达式所代表的集合是无穷的,则它必含有 运算。 A.连接运算:“·” B.或运算:“|” C.闭包运算:“*” D.括弧:“(” 和 “)” 15.称有限自动机A1和A2等价是指 。 A.A1和A2都是定义在一个字母表Σ上的有限自动机 B.A1和A2状态数和有向边数相等
C.A1和A2状态数或有向边数相等 D.A1和A2所能识别的字符串集合相同
16.DFA同NFA的不同之处是 。 A.DFA的一个状态发出的边不能相同,而NFA的一个状态可以发出多条相同的边 B.DFA可以含有多个终止状态,而NFA可以含有多个初始状态 C.DFA和NFA 所描述的字符串集合不同 D.DFA同NFA使用的构造技术和对象不同 17.同正则表达式(a | b)*等价的正则表达式是 。
A.(a | b)+ B.a* | b*
C.(a b)* D.(a* | b*)+ 18.词法分析器的加工对象是 。 A.中间代码 B.单词 C.源程序 D.元程序 19.称正则表达式R1和R2等价是指 。 A.R1和R2都是定义在一个字母表Σ上的正则表达式 B.R1和R2中使用的运算符相同
C.R1和R2代表一个正则集 D.R1和R2代表不同的正则集 20.如果一个有限自动机所能识别的字符串集合是无穷的,则它必 。 A.含有多个状态 B.含有多条有向边 C.含有多个终止状态 D.含有回路 21.DFA同NFA的不同之处是 。 A.DFA只能含有一个终止状态,而NFA可以含有多个终止状态 B.DFA只能含有一个初始状态,而NFA可以含有多个初始状态 C.DFA和NFA 所描述的字符串集合不同 D.DFA同NFA使用的构造技术和对象不同 22.同正则表达式a*b*等价的文法是 。 A.G1:S→aS|bS|ε B.G2:S→aSb|ε C.G3:S→aS|Sb|ε D.G4:S→abS|ε 23.如果一个文法G是二义性文法,则必存在某个句子x∈L(G),该句子 。 A.存在两个不同的最右推导和一个最左推导 B.存在两个不同的最左推导和一个最右推导 C.最左推导和最右推导不同 D.存在两个不同的最左推导和两个不同的最右推导 24.称文法G1和G2等价是指 。 A.L(G1)≡L(G2) B.L(G1)=L(G2) C.L(G1)⊆L(G2) D.L(G2)⊆L(G1) 25.由文法的开始符出发通过若干步(包括0步)推导产生的文法符号序列是 。 A.语言 B.句型 C.句子 D.句柄 26.最左简单子树的叶结点,自左至右排列组成句型的 。 A.短语 B.简单短语 C.句柄 D.素短语 27.前后文无关文法(CFG)G:S→[ S ] | [ ]所产生的语言是 。 A.[ m ] n (m,n>0) B.[ m ] n (m,n>1) C.[ m ] m (m≥0) D.[ n ] n(n≥1) 28.前后文无关文法(CFG)G:S→[ S ] | ε所产生的语言是 。 A.[ m ] n (m,n>0) B.[ m ] n (m,n>1) C.[ m ] m (m≥0) D.[ n ] n(n≥1) 29.如果一个文法G是无二义性文法,则对任一句子x∈L(G),该句子 。 A.可能存在两个不同的最右推导 B.可能存在两个不同的最左推导 C.最左推导和最右推导不同 D.仅存在一个最左推导和一个最右推导 30.正则文法的句型具有的特点是 。 A.句型中仅含一个非终结符或不含非终结符 B.句型中仅含一个非终结符或只含终结符 C.句型中仅含一个非终结符且在句型的最右端,或不含非终结符 D.句型中可含多个非终结符且在句型的最左端,或不含非终结符 31.规范推导是 。 A.最右推导的逆过程 B.最左推导 C.最左归约的逆过程 D.最右规约的逆过程 32.在自顶向下语法分析中,要求文法满足 。 A.无左递归 B.无左公因子 C.无右递归 D.无回溯 33.一个文法G是LL(1)文法的充要条件是对每一个非终结符A的任意两个不同产生式A→α | β,有 。 A.FIRST(α)∩FIRST(β)=Φ B.FIRST(α)∩FOLLOW(A)=Φ C.SELECT(A→α)∩SELECT(A→β)=Φ D.SELECT(A→α)∩SELECT(A→β)≠Φ 34.一个文法是简单优先文法应满足的条件是 。 ⑴ 没有形如A→…BC…的产生式(A,B,C∈VN) ⑵ 没有形如A→ε产生式 ⑶ 任意两个终结符号之间至多存在一种优先关系 ⑷ 没有相同的产生式右部
可选项有: A.⑴⑵⑶ B.⑵⑶⑷ C.⑴⑶⑷ D.⑴⑵⑷ 35.简单优先分析法每次都是对 进行归约。 A.短语 B.简单短语 C.素短语 D.句柄 36.一个文法G,若 ,则称它是LL(1)文法。 A.G中不含左递归 B.G无二义性 C.G的LL(1)分析表不含多重定义 D.G中产生式不含左公因子 37.设有文法G=({S},{a},{ S→SaS | ε},S),该文法是 。 A.LL(1)文法 B.LR(0)文法 C.简单优先文法 D.二义性文法 38.若B为非终结符,则A→α·Bβ为 项目。 A.移入 B.待约 C.归约 D.接受 39.LR分析器核心部分是一张分析表,该表由 组成。 A.ACTION表 B.GOTO表 C.LL(1)分析表 D.ACTION表和GOTO表 40.在递归子程序方法中,如果文法存在左递归,则会使分析过程产生 。 A.回溯 B.非法调用 C.有限次调用 D.无限循环 41.编译程序的语法分析器必须输出的信息是 。 A.语法错误信息 B.语法规则信息 C.语法分析过程 D.语句序列 42. LL(1)分析法中的“1”的含义是向输入串中查看一个输入符号,其目的是 。 A.确定最左推导 B.确定可归前缀 C.确定分析一步使用的产生式右部匹配串 D.确定是否推导 43.若a为终结符,则A→α • aβ为 项目。 A.移入 B.待约 C.归约 D.接受 44.若B为终结符,则A→α • Bβ为 项目。 A.移入 B.待约 C.归约 D.接受 45.可归前缀是指 。 A.规范句型的前缀 B.活前缀 C.含有句柄的活前缀 D.句柄 46.下述关于标识符和名字的叙述中,正确的为 。 A.标识符有一定的含义 B.名字有确切的属性 C.名字是一个没有意义的字符序列 D.标识符和名字是等同的 47.下列错误属于静态语义错误的是 。 A.括弧不配对 B.出现非法字符 C.类型不相容 D.溢出 48.属于标识符“种属”属性信息的描述是 。 A.整型 B.变量 C.地址 D.指针
49.不属于标识符“类型”属性信息的描述是 。 A.整型 B.实型 C.指针 D.类型 50.函数表达式sqrt (-8)是错误的,它属于 错误。 A.语法 B.词法 C.静态语义 D.动态语义 51.有一语法制导翻译算法如下: S→bAb { print “1”} A→(B { print “2”}