编译原理试题B
一、单项选择题(每题1分,共20分)
1、对编译系统有关概念描述正确的是(B)
A.目标程序只能是机器语言B.编译程序处理的对象是源语言
C.解释程序属于编译程序D。词法分析无法自动进行
2。设有表达式a*b-c,将其中a*b识别为表达式的编译阶段是什么
(B)
A.词法分析B。语法分析
C.语义分析D。代码生成
3。下面不能用于对文法进行描述的是(A)
A.源语言.BNFD.语法图
4。设有文法G[S]:S→0S|1A|0,A→1|1S|0B,B→1A|0B,下列符号串中
是该文法的句子的是
()?
A.1B.0010
C.1111D.1010
(可画出DFA验证)
5。文法G[S]:
S→aA|bC|a
A→aS|bB
B→aC|bA|b
C→aB|bS,则不是L(G)句子的是(B)
A.a100b50ab100B.a1000b500aba
C.a500b60aab2aD.a100b40ab10aa
(画出DFA)
6。哪个不是DFA的构成成分(B)
A.有穷字母表B。初始状态集合
C.终止状态集合D.有限状态集合
7.词法分析器的输入是(B)
A.单词符号串B。源程序C.语法单位D。目标程序
8。在词法分析阶段不能识别的是(C)
A.标识符B.运算符C.四元式D。常数
9.设有一段C语言程序
while(i&&++j)
得分
{
c=2。19;
j+=k;
i++;
},经过词法分析后可以识别的单词个数是(B)
A.19B。20C.21D。23
10.自上而下语法分析的主要动作是(B)
A.移进B。推导C.规约D。匹配
11.下面不属于LL(1)分析器的自称部分是(D)
A.LL(1)总控程序B。LL(1)分析表
C.分析栈D。源程序串
12。设有文法G[S]为
S→AB|bC,A→ε|b,B→ε|aD,C→AD|b,D→aS|c
则FOLLOW(A)为(A)
A.{a,c,#}B。{c,#}C.{a,#}D。{#}
13。设有文法G[S]:
S→Ap|Bq,A→a|cA,B→b|dB,则FIRST(Ap)为(C)
A.{p,q}B。{b,d}C.{a,c}D。其他
14.自下而上语法分析的主要分析动作是(D)
A.推导B。规约C.匹配D.移进—规约
15。算法优先分析中,可规约串是(C)
A.句柄B.活前缀C.最左素短语D.素短语
16.设有文法G={{S},{a},{S→SaS|ε},S},该文法是(B)
A.LL(1)文法B.二义性文法
C.SLR(1)文法D.算法优先文法
17、中间代码生成时所以据的是(C)
A.语法规则B.词法规则C.语义规则D.等价变换规则
18、给定文法G:E→E+T|T,T→T*F|F,F→i|(E)
则L(G)中的一个句子i+i+(i*i)*i的逆波兰表示为(C)
A.iii*i++B.ii+iii**+C.ii+ii*i*+D.其他
19.在编译程序中与生成中间代码的目的无关的是(B)
A.便于目标代码优化B.便于存储空间的组织
C.便于目标代码的移植D.便于编译程序的移植
20.中间代码是介于源语言程序和什么之间的一种代码(D)
A.源代码B.机器语言C。汇编语言D。目标代码
二.简答(每题3分,共12分)
1。什么是解释程序?
解释程序也是一种翻译程序,它将源程序作为输入并执行之,即边解释边执行。
2。词法分析器的主要任务是什么?
词法分析器的主要任务是逐步扫描和分解构成源程序的字符串,识别出一个一个
的单词符号。
3.文法有哪几部分组成?
文法是一个四元组,由非终结符号集合、终结符号集合、非空有穷的文法规则集
合、文法的开始符号(识别符号)组成.
4。语法分析的基本任务是什么?
在词法分析的基础上,根据语言的语法规则把单词符号串分解成各类语法单元.
三、解答题(本大题共6小题,每小题4分,共24分)
1.写正则式:所有表示偶数的串.
(0|1|…|9)*(0|2|4|6|8)
2.构造有限自动机M,使得:L(M)={anbncn|n≥1}。
应是L(M)={anbmck|n,m,k≥1}
得分
得分
3.给定文法G[S]:S→aAcB|BdS,B→aScA|cAB|b,A→BaB|aBc|a,试检验aacb
是不是其句子。
SaAcBaacBaacb,所以aacb是句子
4.文法G[S]=({A,B,C},{a,b,c},A,P),其中P有以下产生式组成:
A→abc,A→aBbc,Bb→bB,Bc→Cbcc,bC→Cb,aC→aaB,aC→aa,问
此文法表示的语言是什么?
L(G)={anbncn|n〉=1}
5。把下列表达式变换成后缀表达式:(x:=x+3)*4
同试卷A
6。把下列表达式变换成后缀表达式:(notAandB)or(CornotD)
同试卷A
四、求解题(本大题共5小题,每小题6,共30分)
1.设文法G[E]:E→E+T|E-T|T,T→T*F|T/F|F,F→F↑P|P,P→(E)|i,
求T*(T-i)+P的短语、直接短语、素短语和句柄。
同试卷A
2。对文法G[R]:R→R’|’T|T,T→TF|F,F→F*|C,C→(R)|a|b,消除文法
得分
左递归.
同试卷A
3。给定程序:
voidfun(intx,inty)
{
x++;y++;
}
main()
{
intx=0;
fun(x,x);
printf(x);
}
调用函数fun时,若参数传递机制是1)按值传递,那么输出结果为多少?
2)按引用传递,那么输出结果为多少?
3)按值—结果传递,那么输出结果为多少?
同试卷A
4。把下列表达式翻译成三地址代码:i:=(j+k)*(10+m)。
同试卷A
5。已知文法G的EBNF表示为:
A→[B,B→X]{A},X→(a|b){a|b},试用C语言写出其递归下降子
程序。
同试卷A
五、综合题(本大题共2小题,每小题7分,共14分)
1.将下列NFA确定化,并画出最小化的DFA。
同试卷A
2。给定文法G[S]:S→AS|b,A→SA|a,
1)构造它的LR(0)项集规范簇;
2)构造识别该文法所有活前缀的DFA.
同试卷A
得分
得分
本文发布于:2022-11-15 07:17:39,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/22815.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |