欢迎来到天天文库
浏览记录
ID:50704905
大小:91.50 KB
页数:11页
时间:2020-03-14
《编译原理基础题.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
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]是oA.G[Z]:Z-*AC,A-*BA
2、B,B->011121„19,C-*0
3、5B.G[Z]:
4、Z->AC,A~BA
5、£,B~0
6、l
7、2
8、,,
9、9,Cf0
10、5C.G[Z]:Z-*DA0
11、A5,A-BA
12、e,B-*O
13、D,D—l⑵,,
14、9D.G[Z]:Z-AC
15、C,A-BA
16、B,B-0
17、112
18、„
19、9,C-0
20、54、编译程序中的语法分析器接受以()为单-位的输入,并产生有关信息供以后各阶段使用。A、表达式B、产生式C、单词D、语句5、算符优先分析法每次都是对()进行归约。A、直接短语B、句柄C、素短语D、最左素短语6、过程调用时,参数的传递方法通常有()。(1)传值;(2)传地址;(3)传结果;(4)传名A、(1)⑵B、(1)⑵⑶C、(
21、1)⑵(4)D、(1)⑵⑶(4)7、在编译方法中,动态存储分配的含义是()。A、在运行阶段对源程序屮的量进行分配B、在编译阶段对源程序中的量进行分配C、在编译阶段对源程序中的量进行分配,在运行时这些量的地址町以根据需要改变D、以上都不对8、a:=a+b*ct(d/e)/f的逆波兰记号表示是()。A、aabc*+tde/f/:=B、aabcdet/*f/:二C、aabcde/t*f/+:二D、以上都不对。9、算符文法是指的文法。%1没有形如U-...VW...的规则(U,V,WVN)%1VT中任意两个符号之间至多存在一种算符优先关系%1没有相
22、同右部的规则%1没冇形如U->e的规则A.①B.①和②C.①、②和③D.①、②、③和④10、编译程序绝人多数时间花在上。a.出错处理b.词法分析d・管理表格c・目标代码生成11在编译阶段通常不产生可执行代码。A.变量说明语句B.流程控制语句C.输入输出语句D.赋值语句12、词法分析器的输入是。a.单词符号串c.语法单位b.源程序d.冃标程序13.在编译程序采用的优化方法中,是在循坏语句范围内进行的。①合并已知常量②删除多余运算③删除归纳变量④运算强度削弱⑤代码外捉A.①④B.①⑤C.①④⑤D.③®©14、程序的基本块是指oA.不含无条件转移
23、语句的程序段B.不含条件转移语句的程序段C.不含停机的语句程序段D.仅含有一个入口语句和一个出口语句的顺序程序段15、文法G描述的语言L(G)是指+a.L(G)={«
24、Sa,aGVT*}*b.L(G)={a
25、S=>a,aGVT*}*c.L(G)={a
26、S^>a,ae(VTUVN*))d.aG(VTUVN*)}L(G)={a
27、S+=^>a,16、如果文法G是无二义的,则它的任何句子a。a.最左推导和最右推导对应的语法树必定相同a.最左推导和最右推导对应的语法树可能不同b.最左推导和最右推导必定相同c.可能存在两个不同的最左推导,但它们对应的语
28、法树相同17、文法G:E-E+TlTT-T*P
29、PP~(E)11则句型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、有文法G:ETE*T
30、TT->T+i
31、i句子1+2*8+6按该文法G归约,其值为。a.23B.42c.30d.1720、若a为终结符,则A->a・aB为a.归约b.移进c.接受d.待约21、就文法的描述能力來说,冇a.SLR(1)CLR(0)b.LR(1)CLR(0)c.SLR(1)CLR(1)d.无二义文法ULR(1)2
32、2、一个指明了在分析过程中的某时刻所能看到产生式多大一部分。a.活前缀b.前缀c.项目d・项目集23、四元式Z间的联系是通过实现的。a.指示器JOL里24、表达式(1AVB)A(CVD)的逆波兰表示为a.-1ABVACDVc.ABV-iCDVA25、终结符具有&传递b・继承c・抽象d・综合b.A-iBVCDVAd.AnBVACDVb・临时变量c・符号表d.程序变26、在编译方法屮,动态存储分配的含义是。a.在运行阶段对源程序中的数组、变量、参数等进行分配b.在编译阶段对源程序中的数组、变量、参数进行分配c.在编译阶段对源程序中的数组、变量、
33、参数等进行分配,在运行时这些数组、变量、参数的地址对根据需要改变a.以上都不止确27、栈式动态分配与管理在过程返冋时应做的工作有a.保护SPTOPb・恢复SPc・保护TOPd•恢
此文档下载收益归作者所有