《22年春西交《编译原理》在线作业答卷.docx》由会员分享,可在线阅读,更多相关《22年春西交《编译原理》在线作业答卷.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、由谋学网 V fnouNu*ccKn杳,社区谋学网 ww. mouxue. com西交编译原理在线作业试卷总分:100得分:100一、单项选择题(共30道试题,共60分)L ()是一种典型的解释型语言。A. BASICCB. FORTRANPASCAL答案:A.算符优先分析法每次都是对()进行归约:A.句柄B.最左素短语C.素短语D.简单短语答案:B.不是编译程序的组成局部。A.词法分析程序B.代码生成程序C.设备管理程序D.语法分析程序答案:C.构造编译程序应掌握()。A.源程序B.目标语言C.编译方法D.其他三项都是答案:D. Pascal的if语句满足()。A.最远匹配原那么B.动态作用
2、域规那么C.静态作用域规那么D.最近匹配原那么答案:D6.语义分析与中间代码产生所依循的是()。A.正规式B.上下文无关文法C.语言的语义规那么D.有限自动机 答案:C 7.上下文无关文法可以用()来描述。A.正那么表达式B.正规文法C.扩展的BNFD.翻译模式答案:C8.()文法不是LL(1)的。A.递归B.右递归C.2型I).含有公共左因子的答案:D9.一个文法所描述的语言是()。A.唯一的B.不唯一的C.可能唯一,好可能不唯一答案:A10.过程信息表不包含()。A.过程入口地址B.过程的静态层次C.过程名D.过程参数信息答案:B11.使用三元式是为了()。A.便于代码优化处理B.防止把临
3、时变量填入符号表C.节省存储代码的空间D.提高访问代码的速度答案:B12.使用()可以定义一个程序的意义。A.语义规那么B.词法规那么C.产生规那么D.词法规那么答案:A13.所谓在程序中某个给定点是活跃的,是指如果在程序中,()oA.该点以后被引用B.该点以后被计算C.该点正在被计算D .该点一直被计算答案:A14.算符优先分析法每次都是对 进行归约:A.句柄B.最左素短语C.素短语D.简单短语答案:B15.编译程序使用 区别标识符的作用域。A.说明标识符的过程或函数名;B.说明标识符的过程或函数的静态层次;C.说明标识符的过程或函数的动态层次;D.标识符的行号;答案:B16.LR(k)文法
4、()A.都是无二义性的B.都是二义性的C. 一局部是二义性的D.无法判定答案:A17 .在语法分析处理中,FIRST集合.FOLLOW集合均是()A.非终结符集B.终结符集C.字母表D.状态集答案:B18.描述一个语言的文法是()A.唯一的B.不唯一的C.可能唯一D.都不正确答案:B19.词法分析器用于识别()A.句子B.产生式C.单词D.句型答案:C2。文法SfaaS|abc定义的语言是()。A. a2kbc|k0akbc|k0B. a2k-lbc|k0akakbc|k0答案:C21 .有文法 GS: S-aA|a|bC A-aS|bB B-aC|bA|b C - aB|bS 那么()为 L
5、(G)中的句子。A. al00b50abl00al000b500abaB. a500b50aab2aal00b40abl0aa答案:C.编译程序是对()oA.汇编程序的翻译B.高级语言程序的解释执行C.机器语言的执行D.高级语言的翻译答案:D.一个上下文无关文法G包括四个组成局部,它们是一组非终结符号,一组终结符号,一个 开始符号,以及一组()A.句子B.产生式C.单词D.句型答案:B.()不是编译程序的组成局部。A.词法分析程序B.代码生成程序C.设备管理程序D.语法分析程序答案:C.编译程序是一种()A.汇编程序B.翻译程序C.解释程序D.目标程序答案:B.在运行空间的划分中有一个单独的区
6、域叫堆,用来存放 oA.目标代码;B.静态数据;C.动态数据;D.过程参数;答案:C.有文法6= (S, a, S-SaS, S- e 2 S),该文法是()。A.LL文法;B.二义性文法;C.算符优先文法;D. SLR (1)文法;答案:B28.两个有穷自动机等价是指它们的()。A.状态数相等B.有向弧数相等C.所识别的语言相等D.状态数和有向弧数相等答案:C29.自上而下分析面临的四个问题中,不包括()A.需消除左递归;B.存在回朔;C.虚假匹配;D.寻找可归约串答案:D30.许多广为使用的语言,如Fortran、C、Pascal等,属于()。A.强制式语言B.应用式语言C.基于规那么的语
7、言D.面向对象的语言答案:A二、判断题(共20道试题,共40分)31 .任何算符优先文法的句型中一定会有两个相邻的非终结符号。() 答案:错误.对于每一个左线性文法G1,都存在一个右线性文法G2,使得L(G1)=L(G2)。()答案:正确.假设某一个句型中出现了某一产生式的右部,那么此右部不一定是该句型的句柄。() 答案:错误32 .算符优先文法的句型中可能会有两个相邻的非终结符号。()答案:错误33 .设M是一个NFA,并且L(M) = x,y,z,那么M的状态数至少为4个。() 答案:错误.把循环中的乘法运算用递归加法运算来替换就是一种强度削弱。() 答案:正确34 .任何一种算法,不能判
8、定任何上下文无关文法是否是LL(1)的。() 答案:错误.在程序设计语言中,一般来说,布尔表达式仅仅用于条件、循环等控制流语句中的条件表 达式计算。()答案:错误.一棵语法树表示了一个句型所有的不同推导过程,包括最右推导和最左推导。() 答案:正确35 .窥孔优化方法是通过考察一小段目标指令,并把这些指令替换为更短和更快的一段指令, 从而提高目标代码的质量。()答案:正确36 .一个文法所有句型的集合形成该文法所能接受的语言。()答案:错误37 .对于每一个左线性文法G1,不一定存在一个右线性文法G2,使得L(G1)=L(G2)。() 答案:错误.中间代码是独立于机器的,复杂性介于源语言和机器
9、语言之间,便于进行与机器无关调换 代码优化工作。()答案:正确.编译前端主要由与源语言和目标机相关的那些局部组成。()答案:错误.复写传播的目的使对某些变量的赋值变为无用。()答案:正确.通过建立一个变量地址描述数组AVALUE,来动态记录变量在运行过程中值的变化。() 答案:错误38 . 一棵语法树表示了一个句型所有的不同推导过程,包括最右推导和最左推导。() 答案:正确.优化的任务在于对前端编译所产生的中间代码进行加工和变换,以其能产生运行结果更为 准确的目标代码。()答案:错误.存在一种算法,能判定任何上下文无关文法是否是LL(1)的。()答案:正确.正那么文法一定不是二义的。()答案:错误