|
一、单选题(共 14 道试题,共 70 分。)V 1. ) M. ]0 P; M, S Q7 A7 ~
编译过程中, 语法分析器的任务是( ).6 d9 a* v6 g# E0 V D- X
(1) 分析单词是怎样构成的
- j4 S6 ]1 b3 E(2) 分析单词串是如何构成语句和说明的
% V3 r' J1 a" `- h' j# \3 m(3) 分析语句和说明是如何构成程序的6 s7 I- ]' b% Z7 m2 M
(4) 分析程序的结构
' D3 D: m, _: v5 @9 q3 cA. (2)和(3)
~. {/ t' ` }/ wB. (4)# T; ^# ~) [. j) O5 v
C. (2),(3),(4)1 S, {0 b0 ^- @9 W4 @, O7 b
D. (1),(2),(3),(4): ^' t+ s' ?% S/ ]$ ?* u7 h
满分:5 分
3 `( S- K! c- C4 j* U2. 程序设计语言单词通常可分如下四类 ).
0 h. l/ ?1 `1 M$ H3 u$ bA. 关键字, 标识符, 常数, 界符
6 z* {" n K8 x/ c* F" NB. 关键字, 变量, 常数, 界符; U8 {# Z9 B* ^( R# ^" e
C. 整型 , 字符型, 俘点型, 布尔型/ ?7 T6 l+ p( a' d
满分:5 分
0 y( @8 J! ^+ L4 E+ O- ^/ y0 L3. . @) ?" A: ^9 J( Y
当过程名出现在可执行语句中时, 就说过程在该点被( ).
6 I4 |5 ] k9 Q4 c4 dA. 引用- O, Q Y3 z3 ^. @
B. 调用
" N* I6 V4 a% s$ T; \' P6 H1 zC. 使用2 c( q% U$ W9 x, u. t
D. 执行& ]; `% P; o. {0 o
满分:5 分
' m( [( _* F9 o4. 已知语言L={anbbn|n>=1}, 则下述文法( )可以产生语言L.% j! h6 S; W# V2 d0 t2 ~0 q
A. Z -> aZb|aAb|b A -> aAb|b
: K( k! \) _! z$ H" ~B. A -> aAb A -> b
. D. Y# w, c# I+ h: R# ~C. Z -> AbB A -> aA|a B -> bB|b2 ^; B: c) c0 V) h+ L
D. Z -> aAb A -> aAb|b0 q8 o5 z% s: r2 k" e- E3 c
满分:5 分
! {, X" M$ i/ X; D5.
/ G2 C$ U! M, I/ C+ |" A Q2 v9 B填写下面文法 G(S)的 SELECT 集 ,并回答是否是 LL(1) 文法:4 V: E* m" H4 {) N2 g
G(S): S -> a A b (1) | d S (2)- U9 q- T5 y* T7 O( l; n" ]
A -> a A (3) | ε (4)/ ^9 u* z% r. Z, v# P
SELECT(①)={ } , SELECT(②)={ } , SELECT(③)={ }, SELECT(④)={ }
2 D! ], ^; j1 P% J! ?( d9 dA. a, d, a, b, 不是. b/ m! E6 H" Q5 W. J1 A
B. a, d, a, b, 是
8 H1 z5 n& x7 J8 [$ n0 M+ |C. a, a, d, b, 不是! c9 h* P8 l9 k3 v. r/ W$ R
D. a, b, a, b, 是
- e& u( Y+ c+ n% f: Y1 c 满分:5 分! L4 }, f& S* j/ p& H
6. 通常,正规式包含如下三种运算:( ).
Z. r6 I% ?0 c8 M VA. 连接, 或, 方幂9 G, S- \% ]1 J4 `. x
B. 连接, 方幂, 闭包4 h8 H1 U: y3 W% G. y5 V8 t; |
C. 连接, 或, 闭包- B0 ^( M+ u; @( V! {
满分:5 分
4 ^# l- z. U" \7 e! F7.
0 `4 Z! `: v) C6 K符号表是编译程序最主要的数据结构,用来存储标识符的( )。. C& M* ~$ |- L/ v* ?8 A1 f: v" d- X
A. / ~" @" a1 E" `# @8 Y1 ]" p7 Q
词法信息- h$ O1 f( y: j: d1 N) z) ?7 j
B.
5 x8 i0 @ S, l* ?" w, o. z语法信息
, O% O% W! d& `5 C% {) @4 _6 G# J3 @2 XC.
6 }( U3 \+ a" O. f语义信息# P! L: m4 Z2 Z7 Y
D. ( b( c u% m: M4 [/ W$ y' Z
语用信息8 _; j- h$ Z) ~( G
满分:5 分
6 H9 T" ^' s8 o" l, b4 Z$ k) S8. 下列不属于字符串banana的子串是( )
5 N+ D3 u( v! B, d5 I- E1 vA. b
# d/ V& g7 b+ n4 b- w' lB. ban) z8 t6 x5 l# g4 A% R
C. babn
5 ?5 m# O& @4 cD. bana
3 N3 O, y% U( [ 满分:5 分
# u( O" L5 `- n; t9. 文法G所描述的语言是( )的集合.2 v/ M/ T" O/ Y. S& U* x9 B
A. 文法G的字符表∑中所有符号组成的符号串* K; |: J1 \/ _1 ]1 l/ K' ?
B. 文法G的字符表∑的闭包∑*中的所有符号串6 {; u* J' U0 a/ s5 J
C. 由文法的开始符号推出的所有符号串- a3 R1 u# f) Q( K+ w
D. 由文法的开始符号推出的所有终结符号串
3 M2 S h3 g7 J; C& L9 j 满分:5 分, [+ S! i3 \. n1 N0 g( X
10. & C: y% X, B; J. J0 f# X5 q6 q
指出下述自动机(FA)所定义的字符串集合:1 z) w5 P: O Z* m- `
1 H4 b4 m) b& g3 Y4 h
7 A& X3 K$ g/ k7 h# F2 t6 A
! }! B+ q; K' \7 n3 cA. L(FA)={ a, abcn|n>0 }* ~8 T8 @7 S. c- R1 V
B. L(FA)={ a, abcn|n>=0 }
. R \4 T; y' x5 q- PC. L(FA)={ a, abcn|n>=1 }
: J2 u% T. p5 _9 u" K 满分:5 分
, ~' O) y! @) d; W9 [/ O, N- b11. 3 L [( l' m, F g) l- u
已知文法G(E): E -> TE’* c+ W Y" \! \1 G4 g0 A
E’-> +TE’|ε. r* N( k: [0 [/ \, X; @0 |0 g
T -> FT’
! J9 h o! o# Q! }3 c5 x T’-> *FT’|ε
0 r$ E7 I9 f3 D5 j' J F -> id|(E)
0 N; h) V) Y/ f2 A( Y1 i+ ]- `& f (1) FIRST(TE’)=( )) e; f( q0 Y- @5 M! J% r4 S
A. {(, id} B. {S, id} C. {*,)} D. {+, *}0 F: u4 V; V# ~: z- }3 E
(2) FOLLOW(E)=( )
/ E) f; M1 y% V% C; A3 W, n. N& e" L A. {), +} B. {(, )} C. {#, )} D. {), *}2 e& W' ~& u+ o/ j5 E
A.
6 |0 z* J: r8 g" F8 F. x0 V A , B
3 k) u* Z* S7 Y9 E6 ] |8 l, Z% }; M! P0 G8 c
B. B , C3 z2 v4 W) V" h. p3 P" B
C. C , D
4 h- s! M/ n" I- R# sD. A , C
* B! Q% H5 d/ }3 D 满分:5 分
0 M* r3 n, [$ Z. ` N) i4 ?3 G' G& K3 h12. 常值表达式节省的目的是( ).
, i5 G, Z/ \; e4 m8 R% [A. 使表达式中的常量尽可能少
) _" ^) x( k2 v8 i( _/ p) VB. 使表达式尽可能简短
4 `3 y6 W/ z2 q4 ~4 h: l( FC. 将可在编译时刻计算的常量运算, 在编译时刻计算出来, 用其值替换表达式中出现的所有这种常量运算, 使其生成的代码指令尽可能少; E: r$ s; x- j% v; t( f1 ]
满分:5 分
1 g0 U* \9 }/ k2 G2 Y; m3 j) g% T" P) k13. 编译程序生成的目标程序( )是机器语言的程序.. y) c; r* o# z- ~$ x; Z
A. 一定
# w, [# x1 e3 }4 p9 [- x/ @B. 不一定
# M. Z* C! w8 @: m1 B: X 满分:5 分
; z# {2 Q4 A A' B/ \! d$ i14.
9 g4 x# r7 ]- L. i9 S% {7 V7 C' p设有类型说明: TYPE atype=ARRAY[1..2] OF ARRAY[1..5] OF real; X) W G2 a; ~# p
下面符号表, 哪一个是正确的?: x5 M2 @: r. n( W0 ?" E
(1)
% E& Z7 g5 g$ y: o' { ~
, ?- L& p( z/ I6 h/ @(2)# Z$ g9 S {5 t% {! s5 D
: O2 Z* V6 s0 [" c
A. (1)
& r8 _' V2 }+ {0 b1 I% IB. (2)( R9 H9 \( K! a: A$ p1 e5 Y
满分:5 分
2 k" Y E+ y; P* D5 c `
6 J4 `. f/ k1 ]: f$ `6 q% L二、判断题(共 5 道试题,共 25 分。)V 1. 1 `% M% `: d4 A9 d2 a' Y% V
语法分析的任务,是对给定的符号串,判定其是否是某文法的句子。
8 H' E( ~, N+ b3 TA. 错误
) ]8 v9 t! q) w# K& ?6 _ Q `, l3 aB. 正确
) [) Q* ^* f8 G) ` 满分:5 分6 y6 X9 K( D7 W$ { L
2. 0 @ D) k! a2 {+ \1 l
设有过程说明:
0 |& h+ ^6 `2 U2 \6 a PROCEDURE sem( x:integer );
9 _, X4 }5 i h8 B( ^$ A( c CONST inum=20;
& ?& O7 n4 v* u; P$ \" R# ^7 k, y, l TYPE atype=ARRAY[1..2] OF ARRAY[1..5] OF real;
( F. P6 l3 f) g+ j4 \4 R$ I& ? VAR a,b : atype ;
8 }( @! X8 {3 _9 B, f( p1 G 下面符号表的相应内容是否正确?
2 b6 G7 {% c) _2 G; `
% H- l: D! {! h' b9 `( [7 N正确资料见光盘
/ c+ l; {, p( E6 F& ]# ^! mA. 错误* J. o: Z! x! b( H' Y2 `- G- J l
B. 正确 d6 A/ a( @4 N) F9 u
满分:5 分* J' E# k5 D0 h% l, P/ W7 i
3. % E ~* _9 V2 Z1 n) [! j/ Y8 h4 T" m
已知下述 pascal 程序片段和符号表如下:
T4 p! o8 ?8 r; ]6 o- ]% h! G, Z8 e1 [0 K# b8 \
procedure lex ; var a:real; begin a:=5 end;
$ j; s! n2 v' D. F9 P% `2 ?
, u/ w# a9 A! H2 A/ L ! Y6 U5 P. ~# t; J9 e! W! E
0 I" i: z! o/ p+ d' B( k
下列Token表示:lex ( i , i2 ) , var ( k , k2 ) , : ( p , p2 ), 5 ( c, c1 )" O% |. u% w8 H7 }/ s+ @
lex ( i , i1 )% }* \6 z. Q: L- ~, M5 X
A. 错误, K1 b, \/ O2 o% O" t6 R
B. 正确
; s3 R2 X$ C( e# E6 a1 ] 满分:5 分
* h) o/ Y4 O/ l! i3 p* v4.
# x* o- x0 l9 \ G9 |已知上下文无关文法为 G(S)=( Vn , Vt ,S , P ), 则:
4 d9 d7 Z+ |- M: V# V: T
. \; J0 l5 L. N m( D ① 若有 S α; 那么称α是句型;
& e8 W+ }! x3 U1 y
# o, A: N( l5 ~7 x% J. U ② 若有 S α 且 α∈Vt*; 那么称α是句子 ; / w5 l' h( J- {. d
A. 错误
7 Z" Y8 z" u4 Y: {$ V0 d/ t, MB. 正确
8 H1 l6 j) j* E4 y- B5 K 满分:5 分0 |4 P- s: h0 u' R* F5 `
5. 8 t7 E, U7 |! B0 Z$ }
已知下述 c 程序片段和给定的符号表如下, main() { int a ,b ; b=2*a+5 ;} 0 I! P2 g5 l% j, _9 {/ d
; a5 z3 O/ O8 _# F) z* K+ m/ {
: b! e: G; v; q( A
' [8 y3 f ]% m# dTOKEN表示:int ( k , k2 ) , b ( i , i2 ) , 5 ( c , c2 )
' y) x6 @7 }8 \% i8 j5 a% q5 @! ^4 Y. y" d' }6 z
A. 错误: E$ V3 }, F9 o+ m' R V4 u7 @! F
B. 正确
4 i" B Y! T2 O1 E 满分:5 分 & h4 I: A3 v4 o0 w
3 a% H/ {; ~5 {" k1 H
三、多选题(共 1 道试题,共 5 分。)V 1. ) f4 t( N4 Q+ J
设下述文法 G(Z): Z -> aAb , A -> cA | d + |8 U1 w, C1 g, Y1 {# B
LR( )分析表1:
0 E& h8 f% X" L' \0 ~! C1 I
7 l0 \& q4 I5 F# d3 @0 c LR( )分析表2:/ Q1 v; ^3 N: |0 T: U4 ~! b w
, j8 K% Q7 I& B
选择下面正确的说法.2 M4 \7 r* [$ I- A
A. LR( )分析表1是正确的.8 r/ D+ V0 C/ c: b: S; u& H
B. LR( )分析表2是正确的.; C. T8 b8 J( T: Y. G* S; P
C. 该文法是LR ( 0 )文法.
9 w; I4 D: W. y; X' ?. ^4 ND. 该文法不是LR ( 0 )文法.
. s3 q" ?( }+ p& R% G' X; F 满分:5 分 8 @, P. H4 Y/ f2 S2 m
8 X' y' z( p6 Q* x+ Y" j" c
|
|