|
一、单选题(共 14 道试题,共 70 分。)V 1.
) I" o+ a; M3 C9 Q2 l编译过程中, 语法分析器的任务是( ).
3 D _; Z2 y H(1) 分析单词是怎样构成的. U8 m4 A6 f7 B* Z, S+ d
(2) 分析单词串是如何构成语句和说明的2 k+ ]% z4 V2 _+ {9 d
(3) 分析语句和说明是如何构成程序的- E8 k9 u% q) A3 N3 t
(4) 分析程序的结构5 O; t- O* u$ R! Z7 w
A. (2)和(3)
" b8 l S( a2 p9 m2 ~2 ^B. (4): Y( x( K0 \* o* ^% k! R% ^: D1 c
C. (2),(3),(4)! R G# m# i7 y$ q1 x
D. (1),(2),(3),(4)
9 a: G& w8 i4 k2 p 满分:5 分
0 k( T5 r: ^2 t) m# G5 o2. 程序设计语言单词通常可分如下四类 ).
4 {; K( r" U: |" ]A. 关键字, 标识符, 常数, 界符' P! c; h, Z8 I+ Y: u6 I
B. 关键字, 变量, 常数, 界符5 ~9 H- {3 K1 Q) |( n/ E0 N! B
C. 整型 , 字符型, 俘点型, 布尔型1 I) f! Y, c1 s% P( @/ W4 U" X
满分:5 分
; c: S3 i% [2 w" T& Z0 b1 V3.
+ z5 @7 Q5 v, E! _当过程名出现在可执行语句中时, 就说过程在该点被( ).. Y' ~4 f4 t, Q
A. 引用
4 B, p/ R. R; U" E' \) n) BB. 调用$ i) x+ T* R5 U u
C. 使用
* o3 |# g) W* i nD. 执行
: k; B2 M% N( f7 o# c. d 满分:5 分# ?) q! u: y3 o: `
4. 已知语言L={anbbn|n>=1}, 则下述文法( )可以产生语言L.
- z G% D/ s2 o; `& oA. Z -> aZb|aAb|b A -> aAb|b7 Q6 t5 E" E9 V% ~7 w9 G0 o" @
B. A -> aAb A -> b
; R4 c. t. P L1 Q4 }3 zC. Z -> AbB A -> aA|a B -> bB|b
5 {; Q# {0 i- V. j/ @; BD. Z -> aAb A -> aAb|b
5 m. N# P% _/ g0 S+ G3 s- U 满分:5 分0 ^( v$ q( k& ?3 N/ j
5. 2 U n- o# l$ }' o: H2 ]
填写下面文法 G(S)的 SELECT 集 ,并回答是否是 LL(1) 文法:
; G" r6 ]! |3 r; c G(S): S -> a A b (1) | d S (2)+ V7 i! @8 @/ ]9 J
A -> a A (3) | ε (4)4 w( |! Z$ H2 l( C3 c
SELECT(①)={ } , SELECT(②)={ } , SELECT(③)={ }, SELECT(④)={ } / p! U$ L5 E) ]: _5 i7 E, @
A. a, d, a, b, 不是
% W% B6 U4 H) S6 D3 Y- T) AB. a, d, a, b, 是, v0 p6 o M* G! h
C. a, a, d, b, 不是9 m+ w$ s6 `/ t0 t2 {! u
D. a, b, a, b, 是* Z* m9 k" C+ ~2 ]: X/ X/ y+ M/ n5 a
满分:5 分
+ P8 t) U& Y- B; t$ @6 ^# b$ K6. 通常,正规式包含如下三种运算:( ).
x* z/ i# @; \. s9 ]2 nA. 连接, 或, 方幂; }: \% m/ G1 V# T+ ~
B. 连接, 方幂, 闭包 C% [7 l9 f E
C. 连接, 或, 闭包
9 @7 h. m/ Z& J) ` 满分:5 分6 v& ]0 e. Q' b: Y/ q
7. , S2 v: K$ ~* V/ x
符号表是编译程序最主要的数据结构,用来存储标识符的( )。! g! K+ B$ R! V: x1 H
A.
4 E; e. \3 }" Y9 I+ m词法信息
1 n1 e+ h7 r0 T9 x0 JB.
* S! f0 o' m0 k) m! g语法信息3 r, M- q9 T9 W) b
C. ! Z4 f7 |/ E3 g, h
语义信息* z. `8 E) p3 |* \
D.
1 l1 l7 P3 o% ?0 n8 L! m: R语用信息1 }$ L7 R" m2 m
满分:5 分3 D d1 F- e7 Z6 |/ B6 G
8. 下列不属于字符串banana的子串是( ), a$ Y3 v% Z2 f, w6 g- [
A. b2 e* R" b, |6 j7 @4 n% M& S! l, i
B. ban
# {; {0 B) A! o* i6 w- |C. babn
/ y4 Z- e5 \* \( [+ FD. bana( @+ u/ P% \1 Q) ~7 T! g
满分:5 分" B7 N! T* a- ?1 u1 T
9. 文法G所描述的语言是( )的集合.
; i4 `0 T L5 x- vA. 文法G的字符表∑中所有符号组成的符号串/ q; T2 X+ Q5 C T) [
B. 文法G的字符表∑的闭包∑*中的所有符号串
; E; V7 Y1 H# \ \& i" f* GC. 由文法的开始符号推出的所有符号串5 r( g8 W2 |/ U; N v
D. 由文法的开始符号推出的所有终结符号串
# W5 |* b. F# F! R8 |/ R7 b 满分:5 分2 }' J+ R4 X; G( J y; w N; S
10.
! m8 Z. j" w! @) x; U) V/ h指出下述自动机(FA)所定义的字符串集合:2 u5 m; X) u; i: w: ^
1 T! v8 G: o1 [! G
, V% v! m- j1 a) {. G4 k% d9 d
& v3 {6 r. q4 q0 y: p0 F" ` \A. L(FA)={ a, abcn|n>0 }
$ \6 S2 `( q$ r# q0 SB. L(FA)={ a, abcn|n>=0 }
3 Z4 _# n6 ` G( X2 XC. L(FA)={ a, abcn|n>=1 }) i$ P4 Y' l3 H$ \( T/ \
满分:5 分, v& ~- Z9 z6 c& t' c3 ~" M! `+ u* o
11. 0 I8 Z3 T' Y& ]& Y0 J
已知文法G(E): E -> TE’- W }" o. u, H. Z) Q) X
E’-> +TE’|ε
( t$ N$ k9 v8 c0 v T -> FT’$ A# S- Y$ q' u+ w/ h/ h
T’-> *FT’|ε
: {. f9 L: ~0 b; [6 z F -> id|(E)
0 z# m, U+ y2 K' |' h5 h- C. q! Q (1) FIRST(TE’)=( )
) m+ \& A m4 {. X; ~ A. {(, id} B. {S, id} C. {*,)} D. {+, *}- x! D! |+ ~9 L) s3 t: @5 {& S
(2) FOLLOW(E)=( )2 j9 a- @8 N, ?7 b9 t! E+ S
A. {), +} B. {(, )} C. {#, )} D. {), *}
: { n* d( }* OA.
9 I! h' N6 ?! p4 {( E, }4 N A , B
+ e8 u8 p) `# j/ ]* U+ H9 O* \; o' f1 }: K' b: M* H
B. B , C% Y9 s$ }0 S4 g+ T1 X; N M1 \
C. C , D+ d/ a$ z% Y N2 k1 k, ]6 A- s
D. A , C
% {" G8 d" ~2 r. Y3 c4 k: F 满分:5 分
. s. A/ B; s$ x; d# }: C12. 常值表达式节省的目的是( ).
( o( p% T9 D b& m- C* C- Q" gA. 使表达式中的常量尽可能少- V. ]6 I4 q' u4 s$ C" e
B. 使表达式尽可能简短! N$ e! S! [0 F+ b. D
C. 将可在编译时刻计算的常量运算, 在编译时刻计算出来, 用其值替换表达式中出现的所有这种常量运算, 使其生成的代码指令尽可能少) V7 |2 _3 T. G7 w" j0 \, f* P
满分:5 分
5 d3 e0 i; U% B6 T- n+ q7 d) m# k13. 编译程序生成的目标程序( )是机器语言的程序.* R, j2 {, A9 q5 E( u
A. 一定
- `! }4 T3 |# g2 F& H7 z9 VB. 不一定/ K8 s. p+ k2 @7 u% u8 S3 j
满分:5 分
5 _* L, Y( T9 `$ v$ O0 [14.
7 s1 G; J$ [* j! [( P设有类型说明: TYPE atype=ARRAY[1..2] OF ARRAY[1..5] OF real;1 K ?# a1 k' f0 Q1 y& u; n
下面符号表, 哪一个是正确的?
. ~' p- v# g5 A7 b/ j5 F(1)
: E( ]! h+ M# u# j
3 W5 K% k/ ^2 ?8 ?(2)# f6 Q T: K6 u: b6 D- |6 I
0 l9 ]1 W7 q4 c& dA. (1); s: H& a: z( A5 Y( D0 `; N
B. (2)8 v6 ?9 [& g' K
满分:5 分
3 w. B6 y$ X' k A l6 ~& T
2 `1 t- D0 i0 d& E& y, [7 m" t二、判断题(共 5 道试题,共 25 分。)V 1. + r$ E- H, l* u& {3 w
语法分析的任务,是对给定的符号串,判定其是否是某文法的句子。1 P7 G* V1 q( @: ^3 ]' E) H0 d l
A. 错误
* N( ?0 j3 d& d5 Q! D% Z" SB. 正确 _" Z0 c8 D5 v4 M- \; Q+ V4 W
满分:5 分
# }! Y. M T) A2 j8 \% n2. 3 C9 o- g4 b7 c7 p* m
设有过程说明:
: ~! F% u, j6 f9 z+ S/ U- N* P PROCEDURE sem( x:integer );* Z# F# h- Q, Q8 \& \- K
CONST inum=20;% n' `/ Y% v4 `' N, P" P
TYPE atype=ARRAY[1..2] OF ARRAY[1..5] OF real;
8 e, g( J7 Q/ t9 K( ~2 } VAR a,b : atype ;( O* Z. I9 x- Y+ z8 p4 g7 T
下面符号表的相应内容是否正确?; P( [, E) _' o
# k. E7 I4 g4 U1 U& X
正确资料见光盘1 D0 Z3 `' S- Z9 ]5 V
A. 错误# q* ~! l, N1 F; h
B. 正确
7 N1 l3 v4 e* ^, x; G 满分:5 分
& T- X4 T" r/ T4 ~1 R. w3.
/ e9 U$ y n& E) G已知下述 pascal 程序片段和符号表如下: `- v( `: M$ I0 p$ l! E; X5 i
0 t" c* L1 m2 k5 y' O& [0 ` procedure lex ; var a:real; begin a:=5 end;/ L* v( _: |$ V/ o
! r l, M+ L! l 0 _7 i* j Q+ Y& S
7 K3 F0 {7 e) S9 H; g- F
下列Token表示:lex ( i , i2 ) , var ( k , k2 ) , : ( p , p2 ), 5 ( c, c1 )
8 v/ L0 k2 O/ Xlex ( i , i1 )' }5 C. s# l/ @" W1 }
A. 错误: h# ?, K7 d8 s9 T5 T" c" f
B. 正确
% s. ?+ h# ~: Z" y) A2 A: {1 _4 y- P 满分:5 分
, J! G) S% d0 j& d. Z4. 5 B0 @6 R4 @6 K: S I" S
已知上下文无关文法为 G(S)=( Vn , Vt ,S , P ), 则:
4 H) D* S4 t/ Q. X6 j4 B8 p2 E
, m; ~* z/ S* H& f h( T. Z ① 若有 S α; 那么称α是句型;
8 [* ^: q, M0 k! S1 Y# E4 M" `
0 [2 ]7 e6 R: Q' ]* _6 b. G: m ② 若有 S α 且 α∈Vt*; 那么称α是句子 ; / h5 o2 I5 U7 \$ a# M
A. 错误
$ V/ p3 C7 e$ ~B. 正确
) P1 F& V& {* r# n* O3 S 满分:5 分
; W; @9 k' H( H3 H, u5. " g; r4 W/ D) U3 a
已知下述 c 程序片段和给定的符号表如下, main() { int a ,b ; b=2*a+5 ;}
; n4 ]- |' b$ Z5 h1 K% Q4 F: X% d
1 {6 c2 T% B8 ~& i4 K9 Z+ t+ A
6 C" D; P& u' H/ R# u+ X9 W! M1 N9 @) S$ l* G
TOKEN表示:int ( k , k2 ) , b ( i , i2 ) , 5 ( c , c2 )! C. n6 c: W! f# H/ Q
; m) x- C1 j! u5 FA. 错误
j) h& e7 G# K' G' a: \2 PB. 正确
8 b! s5 P8 [9 P 满分:5 分 3 K5 `: V2 y8 g! V
1 A; N5 H+ B" I. w三、多选题(共 1 道试题,共 5 分。)V 1. 8 W$ v% J1 q5 j. R& y4 O' d# G; C
设下述文法 G(Z): Z -> aAb , A -> cA | d / u; i) ^; o0 X! H' f
LR( )分析表1:
: ]& w2 V0 y r9 D! d9 Q* s6 T 5 j) t4 X7 a- f$ h# Z( m A
LR( )分析表2:
6 j, o) J4 U9 d0 P, v $ X6 f- y5 n$ Y& Q8 G7 j6 Z4 R' ~
选择下面正确的说法.
+ j4 C A& s9 D* t) N# s7 qA. LR( )分析表1是正确的., Y' e: q& ^% c5 @7 N1 d
B. LR( )分析表2是正确的.
; \9 A& b! V* q; k( ]- W XC. 该文法是LR ( 0 )文法.
2 }3 {/ F8 F1 }2 h- D+ _D. 该文法不是LR ( 0 )文法./ \8 N$ J% M B: l
满分:5 分
: b9 @" U9 l* B3 ]" `* r5 V3 w7 ~$ v" ^4 L0 D
|
|