编译原理试题B
、单项选择题(每题1分,共20 分)
1、对编译系统有关概念描述正确的是 A.目标程序只能是机器语言 B. C.解释程序属于编译程序 D.
(B)
编译程序处理的对象是源语言 词法分析无法自动进行
2.设有表达式a*b-c,将其中a*b识别为表达式的编译阶段是什么
(B)
A.词法分析 B. 语法分析
D. 代码生成 C.语义分析
3.
法进行描述的是 A.源语言 B. EBNF C . BNF D. 语法图
下面不能用于对文
(A)
4. 设有文法G[S]: S— 0S|1A|0, A— 1|1S|0B , B— 1A|0B,下列符号串中是该文 法的句子的是
A. 1010001001101 B.0101001110010010
C. 1101010011110111 D.1010011101101010 (可画出DFA验证) 5. 文法 G[S]: S— aA|bC|a A— aS|bB B— aC|bA|b
C— aB|bS ,则不是L(G)句子的是
.
100 50
. 10^
_
1000 500 . 100 40
- 10
C. a500b60aab2a D. a
b ab aa
(B)
初始状态集合
(画出DFA
6.哪个不是DFA的构成成分 A.
有穷字母表
B.
C. 终止状态集合 D. A. a b ab B. a
有限状态集合 b aba
A.单词符号串 B.源程序 7?词法分析器的输入是
C .语法单位 D. 目标程序
8.在词法分析阶段不能识别的是
A.标识符 B. 运算符C .四元式 D.
(C )
常数
9.设有一段C语言程序 while(i&&++j)
{
c=2.19; j+=k;
i++;
},经过词法分析后可以识别的单词个数是 A. 19 B.20 C . 21 D.23 10?自上而下语法分析的主要动作是 A.移进 B. 推导 C .规约 11.下面不属于LL(1)分析器的自称部分是
A. LL(1)总控程序 B. C.分析栈 D.
(B )
(B )
D.
匹配
(D )
分析表
源程序串
12. 设有文法G[S]为
S— AB|bC, Ar |b , Bf |aD , C— AD|b, D^aS|c 贝U FOLLOW(A为 A. {a,c,#} B.{c,#} C . {a,#} D.{#} (A ) 13. 设有文法G[S]:
S— Ap|Bq, A— a|cA , B— b|dB ,贝U FIRST(Ap)
为 .{a,c} D. A. {p,q} B. {b,d} C 14.
法分析的主要分析动作是
A.推导 B. 规约 C .匹配 D. 移进-规约 15. 算法优先分析中,可规约串是 A.句柄 B .活前缀 C .最左素短语 16. 设有文法 G={{S},{a},{S — SaS| £},S},该文法是
A. LL(1)文法 B C. SLR(1)文法 D
.二义性文法 .算法优先文法
(C )
D.
等价变
(C )
其他
自下而上语
(D )
D .素短语
(B )
17、 中间代码生成时所以据的是 A.语法规则 换规则
B . 词法规则C .语义规则
18、给定文法 G: E — E+T|T, T— T*F|F , F— i|(E)
则L(G)中的一个句子i+i+(i*i)*i
的逆波兰表示