- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理与技术模拟试题三
一、填空题(20分)
1.1 和 是编译程序各阶段都涉及到的工作。
1.2用LR方法实现语法分析时,典型的操作有__________、__________、接受和报错。1.3一个上下文无关文法四个组成部分是1.4已知数组M[..5, 1..8]以行为主序存放,如果每个元素占个存储单元,且起始地址为a,则元素M[,7]的地址是__________。_________时确定;另一部分是可变部分,它在________时确定。
1.5 表达式(a+b)*c-d的逆波兰(后缀)表达式为 ___________________________。
二、单选题(20分)
2.1 生成中间代码所依据的是__________。
A. 语法规则 B. 词法规则 C. 语义规则 D. 等价变换规则
2.2 一个句型中的最左________称为该句型的句柄。
A. 短语 B. 直接短语 C. 非终结符号 D. 终结符号
2.3 给定文法A→bA|cc,________是该文法的句子。
A. ccbc B. bcbc C. cbcb D. bbcc
2.4 程序设计语言中大多数的语法现象可用Chomsky的________文法表示。
A. 0型(短语结构文法) B. 1型(上下文有关文法)
C. 2型(上下文无关文法) D. 3型(正规文法)
2.5 有限状态自动机可以识别的语言为________。
A. 上下文有关语言 B. 上下文无关语言
C. 短语文法定义的语言 D. 正规文法定义的语言
2.6 有文法G:S→AA, A→Aa|a。G不是LL(1)文法的理由是_________。
A. FIRST(S)∩FIRST(A)≠ B. FIRST(A)∩FOLLOW(A)≠
C. FIRST(Aa)∩FIRST(a)≠ D. 都不是
2.7 表达式的类型检查工作在___________阶段进行。
A. 语法分析 B. 词法分析 C. 语义分析 D. 优化
2.8 编译器分析源程序时遇到的错误可分为语法错误和语义错误两类,_________。
A. 表达式中括号不匹配是语法错误,运算对象与运算符号不匹配是语义错误
B. 表达式中括号不匹配是语义错误,运算对象与运算符号不匹配是语法错误
C. 表达式中括号不匹配和运算对象与运算符号不匹配都是语法错误
D. 表达式中括号不匹配和运算对象与运算符号不匹配都是语义错误
2.9 已知某高级语言源程序A经编译后得到机器C上的目标程序B,则 。
A. 对B进行反编译,不能还原出源程序源程序源程序 集合。
A. 可用正规式“”表示
B. 不能用正规式表示,但可用非确定的有限自动机识别
C. 可用正规式“”表示
D. 不能用正规式表示,但可用上下文无关文法表示
void testfunc(int a, int b, int c){a = b - c; c = c+10; b = a*b+c;}
int main()
{ int x = 1, y = 2, z = 3;
testfunc(y,x,z);
cout x = x y = y z = z endl;
return 0;
}
3.3 简述拉链与回填技术的基本思想。
四、综合题(30分)
4.1(10分)有NFA N如下图。
1 求出N的最小DFA D; 给出N所识别语言的正规式r。
G[S]:S→aBc|bAB, A→aAb|b, B→b|ε。
1 计算非终结符S、A、B的FIRST和FOLLOW集合;
2 该文法能否推导出baabbb,若能,写出其分析树,否则说明原因。
4.3(10分)有上下文无关无法G[V]和语法制导翻译如下:
(1) V → id {var_no:=var_no+1;}
(2) | id(E) {arr_no:=arr_no+1;}
(3) E → E + V {exp_no:=exp_no+1;}
(4) | V {exp_no:=exp_no+1;}
(a) 给出识别该文法活前缀的DFA;
(b) 若语义变量var_no、arr_no和exp_no的初值均为1,请给出分析句子id(id+id(id))之后它们各自的值;
参考答案
一、填空题
1.1 出错处理,符号表管理
1.2移进,归约
1.3产生式集合,开始符号
1.4 a+120,编译,运行
1.5 ab+c*d-
二、单选题
2.1 C 2.2 B 2.3 D 2.4 C 2.5 D
文档评论(0)