《编译原理试题B及答案》由会员分享,可在线阅读,更多相关《编译原理试题B及答案(6页珍藏版)》请在金锄头文库上搜索。
1、编译原理试题B得 分一、单项选择题(每题1分,共20分)1、对编译系统有关概念描述正确的是 ( B)A 目标程序只能是机器语言 B. 编译程序处理的对象是源语言C 解释程序属于编译程序 D. 词法分析无法自动进行2. 设有表达式a*b-c,将其中a*b识别为表达式的编译阶段是什么(B)A词法分析 B. 语法分析C语义分析 D. 代码生成3. 下面不能用于对文法进行描述的是 (A )A源语言 B. EBNF CBNF D. 语法图4. 设有文法GS: S0S|1A|0,A1|1S|0B,B1A|0B,下列符号串中是该文法的句子的是 ( )?A1010001001101 B.01010011100
2、10010C1101010011110111 D.1010011101101010(可画出DFA验证)5. 文法GS:SaA|bC|aAaS|bBBaC|bA|bCaB|bS ,则不是L(G)句子的是 ( B )Aa100b50ab100 B. a1000b500abaCa500b60aab2a D. a100b40ab10aa(画出DFA)6. 哪个不是DFA的构成成分 (B)A 有穷字母表 B. 初始状态集合C 终止状态集合 D. 有限状态集合7.词法分析器的输入是 ( B )A单词符号串 B.源程序 C语法单位 D.目标程序8.在词法分析阶段不能识别的是 (C )A标识符 B. 运算符
3、C四元式 D. 常数9.设有一段C语言程序while(i&+j) c=2.19; j+=k; i+; ,经过词法分析后可以识别的单词个数是 (B )A19 B.20 C21 D.2310自上而下语法分析的主要动作是 ( B )A移进 B. 推导 C规约 D. 匹配11.下面不属于LL(1)分析器的自称部分是 ( D )ALL(1)总控程序 B. LL(1)分析表C分析栈 D.源程序串12.设有文法GS为SAB|bC, A|b,B|aD,CAD|b,DaS|c则FOLLOW(A)为 (A )Aa,c,# B.c,# Ca,# D.#13.设有文法GS:SAp|Bq,Aa|cA,Bb|dB ,则F
4、IRST(Ap)为 ( C )Ap,q B. b,d Ca,c D. 其他14.自下而上语法分析的主要分析动作是 (D )A推导 B. 规约 C匹配 D. 移进-规约15.算法优先分析中,可规约串是 ( C ) A句柄 B活前缀 C最左素短语 D素短语16. 设有文法G=S,a,SSaS|,S,该文法是 ( B )ALL(1)文法 B二义性文法 CSLR(1)文法 D算法优先文法17、中间代码生成时所以据的是 (C) A语法规则 B词法规则 C语义规则 D等价变换规则18、给定文法G: EE+T|T,TT*F|F,Fi|(E)则L(G)中的一个句子i+i+(i*i)*i的逆波兰表示为 ( C
5、)Aiii*i+ Bii+iii*+ Cii+ii*i*+ D其他19在编译程序中与生成中间代码的目的无关的是 (B ) A便于目标代码优化 B便于存储空间的组织 C便于目标代码的移植 D便于编译程序的移植20中间代码是介于源语言程序和什么之间的一种代码 ( D)A源代码 B. 机器语言 C. 汇编语言 D. 目标代码 得 分二简答(每题3分,共12分)1. 什么是解释程序?解释程序也是一种翻译程序,它将源程序作为输入并执行之,即边解释边执行。2. 词法分析器的主要任务是什么? 词法分析器的主要任务是逐步扫描和分解构成源程序的字符串,识别出一个一个的单词符号。3 文法有哪几部分组成?文法是一个
6、四元组,由非终结符号集合、终结符号集合、非空有穷的文法规则集合、文法的开始符号(识别符号)组成。4. 语法分析的基本任务是什么?在词法分析的基础上,根据语言的语法规则把单词符号串分解成各类语法单元。得 分三、解答题(本大题共6小题,每小题4分,共24分)1.写正则式:所有表示偶数的串。(0|1|9)*(0|2|4|6|8)2.构造有限自动机M,使得:L(M)=anbncn|n1。应是L(M)=anbmck|n,m,k13.给定文法GS:SaAcB|BdS,BaScA|cAB|b,ABaB|aBc|a,试检验aacb是不是其句子。SaAcBaacBaacb ,所以aacb是句子4.文法GS=(A
7、,B,C,a,b,c,A,P),其中P有以下产生式组成:Aabc,AaBbc,BbbB,BcCbcc,bCCb,aCaaB,aCaa,问此文法表示的语言是什么?L(G)=anbncn|n=15.把下列表达式变换成后缀表达式:(x:=x+3)*4同试卷A6. 把下列表达式变换成后缀表达式:(not A and B) or (C or not D)同试卷A得 分四、求解题(本大题共5小题,每小题6,共30分)1 设文法GE: EE+T|E-T|T,TT*F|T/F|F,FFP|P,P(E)|i,求T*(T-i)+P的短语、直接短语、素短语和句柄。同试卷A2. 对文法GR:RR|T|T,TTF|F,
8、FF*|C,C(R)|a|b,消除文法左递归。 同试卷A3. 给定程序: void fun(int x,int y) x+;y+;main() int x=0; fun(x,x); printf(x);调用函数fun时,若参数传递机制是1)按值传递,那么输出结果为多少? 2)按引用传递,那么输出结果为多少? 3)按值-结果传递,那么输出结果为多少?同试卷A4. 把下列表达式翻译成三地址代码:i:=(j+k)*(10+m)。同试卷A5.已知文法G的EBNF表示为: AB,BXA,X(a|b)a|b,试用C语言写出其递归下降子程序。同试卷A得 分五、综合题(本大题共2小题,每小题7分,共14分)1将下列NFA确定化,并画出最小化的DFA。同试卷A得 分2. 给定文法GS:SAS|b,ASA|a,1)构造它的LR(0)项集规范簇;2)构造识别该文法所有活前缀的DFA。同试卷A