《Zhujiao057《编译原理》习题答案.docx》由会员分享,可在线阅读,更多相关《Zhujiao057《编译原理》习题答案.docx(19页珍藏版)》请在优知文库上搜索。
1、西安交通大学网络教育学院编译原理习题答案一、单项选择题(本大题共164小题,每小题2分)1、如果一个编译程序能产生不同于其宿主机的机器代码,则称它为(C)。A、诊断编译程序B、优化编译程序C、交叉编译程序D、可变目标编译程序2、(C)不是编译程序的组成部分。A、词法分析程序B、代码生成程序C、设备管理程序D、语法分析程序3、现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个(C)把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。A、重定位程序B、解释程序C、连接
2、装配程序D、诊断程序;4、产生正则语言的文法为(D)。A、。型B、1型C、2型D、3型5、(八)是一种典型的解释型语言。A、BASICB、CC、FORTRAND、PASCAL6、把汇编语言程序翻译成机器可执行的目标程序的工作是由(B)完成的。A、编译器B、汇编器C、解释器D、预处理器7、用高级语言编写的程序经编译后产生的程序叫(B)A、源程序B、目标程序C、连接程序D、解释程序8、文法G:S(T)T-T,SS则FIRSTVt(T)(OoA、b,八,(B、b,JC、b,A,(,D、b,八,),(9、通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等六
3、个部分,还应包括(C)。A、模拟执行器B、解释器C、表格处理和出错处理D、符号执行器10、编译程序绝大多数时间花在(D)上。C、目标代码生成 D、表格管理A、出错处理B、词法分析11、设文法为:S-SAlAA-*ab则对句子aba,下面(D)是规范推导。A、S=SAnSAAnAAAnaAAnabAnabaB、SnSA=SAAnAAAnAAanAbanabaC、SnSAnSAAnSAanSba=Aba=abaDS=SAnSanSAanSba=Abanaba12、ChomSky把文法分成四种类型,其中,(D)也称正规文法A、0型B、1型C、2型【)、3型13、源程序是句子的集合,(B)可以较好地反
4、映句子的结构。A.、线性表B、树14、词法分析器的输出结果是(D)。A、单词自身值C、单词的种别编码15、词法分析器不能(D)A、识别出数值常量C、扫描源程序并识别记号C、完全图D、堆栈B、单词在符号表中的位置D、单词的种别编码和自身值B、过滤源程序中的注释D、发现括号不匹配16、文法:G:S-XSXIy所识别的语言是(D)。A、xyxB、(xyx)*C、x*yx*D、xnyxn(n0)17、如果文法G是无二义的,则它的任何句子(八)A、最左推导和最右推导对应的语法树必定相同B、最左推导和最右推导对应的语法树可能不同C、最左推导和最右推导必定相同D、可能存在两个不同的最左推导,但它们对应的语法
5、树相同18、语言的词法规则一般用ChonlSky的(D)型文法来描述:A、OB、1C、2D、319、文法Sf(L)a1.T,SS中的终结符号是(B)oA、SB、,CxLD、I20、文法G所描述的语言是(D)的集合。A、文法G的字母表中的所有符号组成的符号串B、文法G的字母表的闭包*中的所有符号串C、文法G的识别符号推出的所有符号串D、文法G的识别符号推出的所有终结符号申21、语法分析器接收以(C)为单位的输入,并产生有关信息供以后各阶段使用。A、表达式B、产生式C、单词D、语句;22、LR(k)文法(A)。A、都是无二义性的B、都是二义性的C、一部分是二义性的D、无法判定23、如果一个编译程序
6、能产生不同于其宿主机的机器代码,则称它为:(CA、诊断编译程序B、优化编译程序C、交叉编译程序D、可变目标编译程序24、许多广为使用的语言,如FOrtran、C、PaSCaI等,属于(A)。A、强制式语言B、应用式语言C、基于规则的语言D、面向对象的语言25、设G是一个文法,S是开始符号。若Sn*,(VTuVN)*,则称a是一个(BA、句子B、句型C、推导D、语言26、赋值语句*:=-6+坊/(5T*PPPf(E)11则句型P+T+i的句柄和最左素短语为(B)oA、P+T和iB、P和P+TC、i和P+T+ID、P和T43、语言的词法规则一般用ChOmSky的(D)型文法来描述:A0B、1C、2
7、D、344、描述一个语言的文法是(B)A、唯一的B、不唯一的C、可能唯一45、一个文法所描述的语言是(A)A、唯一的B、不唯一的46、采用自上而下分析,必须(A)。A、消除回溯C、消除右递归47、编译过程中,语法分析器的任务是(A)分析单词的构成分析单词串如何构成语句 分析语句是如何构成程序分析程序的结构A、B、C、可能唯一B、消除左递归D、提取公共左因子C、D、48、程序语言的单词符号一般可以分为5种,下面(B)不需要超前搜索。A、关键字 B、标识符 C、常数 D、算符和界符49、由文法的开始符经O步或多步推导产生的文法符号序列是(C)。A、短语 B、句柄 C、句型 D、句子50、从左线性文
8、法构造有限自动机时,通常自动机状态个数比文法非终结符号数多(D )oA、4 B、2 C、0 D、151、正规表达式( ab)2表示的集合是(D )。An , ab, ba, aa, bbC、 a, b, ab, aa, ba, bb)B、 ab, ba, aa, bbD、 , a, b, aa, bb, ab, ba52、高级语言编译程序常用的语法分析方法中,递归下降分析法属于(B)分析法。A、自左至右B、自顶向下C、自底向上D、自右向左53、上下文无关文法可以用(C)来描述。A、正则表达式B、正规文法C、扩展的BNFD、翻译模式54、自上而下分析面临的四个问题中,不包括(DA、需消除左递归B
9、、存在回朔C、虚假匹配D、寻找可归约串55、从左线性文法构造有限自动机时,通常自动机状态个数比文法非终结符号数多(D)A、4B、2C、0D、156、正规表达式(ab)2表示的集合是(D)An,ab,ba,aa,bbB、ab,ba,aa,bb)C、a,b,ab,aa,ba,bb,a,b,aa,bb,ab,ba)57、词法分析器的输入是(八)oA、符号串B、源程序C、语法单位D、目标程序58、两个有穷自动机等价是指它们的(C)。A、状态数相等B、有向弧数相等C、所识别的语言相等D、状态数和有向弧数相等59、若状态k含有项目“A-Q-”,且仅当输入符号aFOLLOW(八)时,才用规则“A-”归约的语
10、法分析方法是(D)。A、LALR分析法B、LR(O)分析法C、LR(I)分析法D、SLR(I)分析法60、若a为终结符,则AfQ-aB为(B)项目。A、归约B、移进C、接受D、待约61、在使用高级语言编程时,首先可通过编译程序发现源程序的全部和部分(八)错误。A、语法B、语义C、语用D、运行62、所谓在程序中某个给定点是活跃的,是指如果在程序中,(A)oA、该点以后被引用B、该点以后被计算C、该点正在被计算【)、该点一直被计算63、LR语法分析栈中存放的状态是识别(B)的DFA状态。A、前缀B、可归前缀C、项目D、句柄64、算符优先分析法每次都是对(B)进行归约:A、句柄B、最左素短语C、素短
11、语D、简单短语65、有文法G=(S,a,S-SaS,S-,S),该文法是(B)。A、LL(I)文法B、二义性文法C、算符优先文法D、SLR(D文法66、文法开始符号的所有(B)作为属性计算前的初始值。A、综合属性B、继承属性C、继承属性和综合属性D、都不是67、对应于产生式A-XY继承属性Y.y的属性计算,可能正确的语义规则是(C)。A、A.a:=f(X.x,Y.y)B、Y.y:=f(A.a,Y.y)C、Y.y:=f(X.x)【)、A.a:=f(Y.y)68、布尔表达式计算时可以采用某种优化措施,比如AandB用if-then-else可解释为(B6A、ifAthentrueelseB;B、ifAthenBelsefalse;C、if