欢迎来到天天文库
浏览记录
ID:8964281
大小:44.00 KB
页数:5页
时间:2018-04-13
《编译原理基础题(学生用)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、编译原理基础题一、选择题1、在使用高级语言编程时,首先可通过编译程序发现源程序的全部()错误和部分语义错误。A、语法B、语义C、语用D、运行2、编译过程中,语法分析器的任务是()。(1)分析单词是怎样构成的;(2)分析单词串是如何构成语句和说明的;(3)分析语句和说明是如何构成程序的;(4)分析程序的结构 A、(2)(3)B、(2)(3)(4)C、(1)(2)(3)D、(1)(2)(3)(4)3.生成能被5整除的正整数的文法G[Z]是_____。A.G[Z]:Z→AC,A→BA
2、B,B→0
3、1
4、2
5、…
6、9,C→0
7、5B.G[Z]:Z→AC,A→BA
8、ε,B→0
9、1
10、2
11、…
12、9,C→0
13、5C.G
14、[Z]:Z→DA0
15、A5,A→BA
16、ε,B→0
17、D,D→1
18、2
19、…
20、9D.G[Z]:Z→AC
21、C,A→BA
22、B,B→0
23、1
24、2
25、…
26、9,C→0
27、54、编译程序中的语法分析器接受以( )为单位的输入,并产生有关信息供以后各阶段使用。A、表达式 B、产生式 C、单词 D、语句5、算符优先分析法每次都是对()进行归约。A、直接短语B、句柄C、素短语D、最左素短语6、过程调用时,参数的传递方法通常有()。(1)传值;(2)传地址;(3)传结果;(4)传名A、(1)(2)B、(1)(2)(3)C、(1)(2)(4)D、(1)(2)(3)(4)7、在编译方法中,动态存储分配的含义是()。A、在
28、运行阶段对源程序中的量进行分配B、在编译阶段对源程序中的量进行分配C、在编译阶段对源程序中的量进行分配,在运行时这些量的地址可以根据需要改变D、以上都不对8、a:=a+b*c↑(d/e)/f的逆波兰记号表示是()。A、aabc*+↑de/f/:=B、aabcde↑/*f/:=C、aabcde/↑*f/+:=D、以上都不对。9.算符文法是指的文法。①没有形如U→...VW...的规则(U,V,WÎVN)②VT中任意两个符号之间至多存在一种算符优先关系③没有相同右部的规则④没有形如U→ε的规则A.①B.①和②C.①、②和③D.①、②、③和④10、编译程序绝大多数时间花在上。a.出错处理b.词法分析
29、c.目标代码生成d.管理表格11.下述语句类中,___________在编译阶段通常不产生可执行代码。A.变量说明语句B.流程控制语句C.输入输出语句D.赋值语句12、词法分析器的输入是。a.单词符号串b.源程序c.语法单位d.目标程序13.在编译程序采用的优化方法中,是在循环语句范围内进行的。①合并已知常量②删除多余运算③删除归纳变量④运算强度削弱⑤代码外提A.①④B.①⑤C.①④⑤D.③④⑤14.程序的基本块是指______。A.不含无条件转移语句的程序段B.不含条件转移语句的程序段C.不含停机的语句程序段D.仅含有一个入口语句和一个出口语句的顺序程序段15、文法G描述的语言L(G)是指。
30、a.L(G)={α
31、Sα,α∈VT*}b.L(G)={α
32、Sα,α∈VT*}c.L(G)={α
33、Sα,α∈(VT∪VN*)}d.L(G)={α
34、Sα,α∈(VT∪VN*)}16、如果文法G是无二义的,则它的任何句子α。a.最左推导和最右推导对应的语法树必定相同b.最左推导和最右推导对应的语法树可能不同c.最左推导和最右推导必定相同d.可能存在两个不同的最左推导,但它们对应的语法树相同17、文法G:E→E+T
35、TT→T*P
36、PP→(E)
37、I则句型P+T+i的句柄和最左素短语为。a.P+T和ib.P和P+Tc.i和P+T+id.P和T18、产生正规语言的文法为。a.0型b.1型c.2型d.3型19
38、、有文法G:E→E*T
39、T T→T+i
40、i句子1+2*8+6按该文法G归约,其值为。a.23B.42c.30d.1720、若a为终结符,则A→α·aβ为项目a.归约b.移进c.接受d.待约21、就文法的描述能力来说,有。a.SLR(1)⊂LR(0)b.LR(1)⊂LR(0)c.SLR(1)⊂LR(1)d.无二义文法⊂LR(1)22、一个指明了在分析过程中的某时刻所能看到产生式多大一部分。a.活前缀b.前缀c.项目d.项目集23、四元式之间的联系是通过实现的。a.指示器b.临时变量c.符号表d.程序变量24、表达式(┓A∨B)∧(C∨D)的逆波兰表示为。a.┓AB∨∧CD∨b.A┓B∨CD∨∧
41、c.AB∨┓CD∨∧d.A┓B∨∧CD∨25、终结符具有属性。a.传递b.继承c.抽象d.综合26、在编译方法中,动态存储分配的含义是。a.在运行阶段对源程序中的数组、变量、参数等进行分配b.在编译阶段对源程序中的数组、变量、参数进行分配c.在编译阶段对源程序中的数组、变量、参数等进行分配,在运行时这些数组、变量、参数的地址可根据需要改变d.以上都不正确27、栈式动态分配与管理在过程返回时应做的工
此文档下载收益归作者所有