|
一、单选题(共 14 道试题,共 70 分。)V 1. / o7 F L* U# Y
编译过程中, 语法分析器的任务是( ).
W* U) ~# I0 a/ L0 ^(1) 分析单词是怎样构成的
J4 t) O+ Q7 {; ?* S(2) 分析单词串是如何构成语句和说明的
/ {7 o5 j/ ~6 z/ Z- [(3) 分析语句和说明是如何构成程序的4 ^3 y" V$ I9 k6 U
(4) 分析程序的结构0 J$ e ^6 T, m+ N* x1 ~" w
A. (2)和(3)* j y. B' n3 _6 L; X
B. (4)
) n& O+ k7 ]: `" W' E5 W9 W' _C. (2),(3),(4)
7 P) h$ P* y2 j! g6 P. Y1 lD. (1),(2),(3),(4)$ |# w: r- x) R8 _
满分:5 分
& j1 v/ f4 C" ^* X/ w" a! P2. 程序设计语言单词通常可分如下四类 ).
0 ~& O" V1 i* ]+ ~* h4 E, d; GA. 关键字, 标识符, 常数, 界符; P7 K, r ]. t. z2 T& W
B. 关键字, 变量, 常数, 界符/ H1 n" c2 A# p, q \4 _1 g# |
C. 整型 , 字符型, 俘点型, 布尔型* D D6 z4 n+ w
满分:5 分
; o& r s. B8 X6 C" I9 g3.
8 ?8 M+ L C' ~9 k/ @. U当过程名出现在可执行语句中时, 就说过程在该点被( ).9 m" h9 Q! w+ @- ?7 ~* s
A. 引用
1 R& X1 Z+ x( P6 XB. 调用
' a# E( G- M7 i# N/ SC. 使用8 t0 b/ j* x2 ]4 z0 p$ C ?" k
D. 执行4 i2 V3 d# o) N: S. d5 {# A/ \
满分:5 分# g3 S9 O0 s; x) s5 u
4. 已知语言L={anbbn|n>=1}, 则下述文法( )可以产生语言L.
, v' o) ^, o$ P$ ~9 \( H- \+ m- p2 ?A. Z -> aZb|aAb|b A -> aAb|b
9 ]' O7 ]! o: m, wB. A -> aAb A -> b' W' u* W. P0 z3 G( o6 z
C. Z -> AbB A -> aA|a B -> bB|b9 u7 x# T' a3 Q5 U" o7 d }6 @ p
D. Z -> aAb A -> aAb|b
6 o$ L- u4 N6 m8 o 满分:5 分
" T5 M5 {2 C. X% }5. % K, z, V u# Z+ P
填写下面文法 G(S)的 SELECT 集 ,并回答是否是 LL(1) 文法:$ |' \3 t/ ~" G
G(S): S -> a A b (1) | d S (2)
3 z: d& t: U! _ k' e; Q0 v F A -> a A (3) | ε (4)6 V6 ~8 N j, ~
SELECT(①)={ } , SELECT(②)={ } , SELECT(③)={ }, SELECT(④)={ }
# [) P) H/ G8 x. S) s1 ~+ ]0 ?5 K# kA. a, d, a, b, 不是; n3 L; q+ |" h$ U5 [* L" ^1 x
B. a, d, a, b, 是
6 ?) V" Q$ A m! cC. a, a, d, b, 不是
9 ^! \% ] e1 Q& c. s) MD. a, b, a, b, 是- k- x; z4 z( Y% V4 p8 g$ r" a
满分:5 分7 I, [- q7 W3 \/ K/ I3 T
6. 通常,正规式包含如下三种运算:( ).; S5 P: d, x- z) t* M
A. 连接, 或, 方幂
7 F$ `& \; F% _1 bB. 连接, 方幂, 闭包
3 d' Q7 }/ k8 x5 FC. 连接, 或, 闭包
( o+ {" K6 E& @$ N$ n' ]* r D 满分:5 分
7 ^$ o" J/ M0 o' P* \$ w9 a/ W/ o7. # w& T+ c/ Z% V i; ]4 `" x
符号表是编译程序最主要的数据结构,用来存储标识符的( )。. M& M3 g8 Z" {* B( k7 b- s" }- g
A.
9 L+ {1 y: |2 q5 ^0 t2 L" m词法信息3 t6 Y* H5 y O5 c7 j8 V' S
B. , @1 |1 t# i2 O
语法信息" b1 n$ s( x+ w! k5 O; e5 E4 y8 a- K: g
C.
. e- h1 ]& X% [ U" i" A/ l) Y5 ^语义信息
- I7 }% j# @! B+ y+ |5 WD.
$ j- [9 j$ ~3 _4 j语用信息
1 k. s& Y) m! t 满分:5 分2 O, O" |0 Q2 ^. D8 h' L& b4 ]- I: X
8. 下列不属于字符串banana的子串是( )
9 c Q, B1 R1 P7 F/ @A. b$ |. T4 }3 @0 m/ U
B. ban( l! q& a1 V- m" w5 ~/ N
C. babn0 \/ U: o6 y! w6 T9 O( x
D. bana/ i' Q/ ~4 j# J$ d1 r1 P+ l0 L
满分:5 分 ~1 f8 S% k- A1 A" a' p
9. 文法G所描述的语言是( )的集合. h$ A; Z* D( d
A. 文法G的字符表∑中所有符号组成的符号串
/ J& _9 p [6 Y; ]* B' b3 V, OB. 文法G的字符表∑的闭包∑*中的所有符号串+ g: M, K% u3 k6 {6 w
C. 由文法的开始符号推出的所有符号串% H& V6 ?5 b/ H2 b, l; V
D. 由文法的开始符号推出的所有终结符号串
, Q; X3 \8 r2 n) O* |3 U$ s$ u 满分:5 分
* M' q; j4 h; e+ F! ]2 r10.
" E9 Q k! Y4 I6 V" s; ?指出下述自动机(FA)所定义的字符串集合:+ Z& X3 u x- {, D
4 @) ?! Z# D7 m. \9 [! ~' G4 [
$ p/ X7 r+ j O$ \. N5 m& x) R/ W1 D& a# r
A. L(FA)={ a, abcn|n>0 }0 f- Q1 G; S4 Q, P9 C
B. L(FA)={ a, abcn|n>=0 }
4 q6 r$ ~! ~9 u) Z( YC. L(FA)={ a, abcn|n>=1 }- H! |1 I. R! s, d" [3 [# i
满分:5 分
9 Z% r. f+ w% b11.
/ e7 q0 Y3 ^3 s* V4 A' [已知文法G(E): E -> TE’
! r2 L% ^" ?' `: s E’-> +TE’|ε
2 v/ R0 }. t! y1 _ T -> FT’6 A0 |2 @2 N( t" |
T’-> *FT’|ε% u( ?% X5 e1 h
F -> id|(E)
" d' e6 D: f& e( M/ G1 \6 [ (1) FIRST(TE’)=( )
, c( l: m/ O+ L, u A. {(, id} B. {S, id} C. {*,)} D. {+, *}5 x# Q/ `$ D- K! v
(2) FOLLOW(E)=( )' R6 B4 i/ F! S I6 X8 K
A. {), +} B. {(, )} C. {#, )} D. {), *}7 N- f% X# A; J1 E
A.
/ R8 }: C0 j- Y A , B
2 |/ N5 G9 s$ Q; i! u1 d" N3 E! l, B& h2 t8 i0 k- ?
B. B , C$ _# z( F" z3 {3 J( A
C. C , D/ J- C( Q% e p2 q; S- c
D. A , C
/ i: W* j; b5 u 满分:5 分
* t8 ]( C4 d8 M2 [! V12. 常值表达式节省的目的是( ).
) L2 _+ ^, H6 EA. 使表达式中的常量尽可能少
Y# h, u3 f% e- eB. 使表达式尽可能简短- o K8 `) m5 V3 c# Z
C. 将可在编译时刻计算的常量运算, 在编译时刻计算出来, 用其值替换表达式中出现的所有这种常量运算, 使其生成的代码指令尽可能少
2 A6 E A( K# Z9 W. @1 x 满分:5 分; r8 Z- ?4 d) O. z! g/ f1 M
13. 编译程序生成的目标程序( )是机器语言的程序.
$ @# S5 P. q0 s" ?2 V! P4 L% n: s% fA. 一定
% o- `3 ^1 K1 I) b, _B. 不一定) y0 R4 V4 ?1 z2 o$ H0 f
满分:5 分
% D- q7 B8 Q: R+ O5 a6 ^1 ~; t14. ! u1 D9 r7 K# D/ h4 w! L* q
设有类型说明: TYPE atype=ARRAY[1..2] OF ARRAY[1..5] OF real;
4 t' l7 i' @7 o3 U$ Y 下面符号表, 哪一个是正确的?+ Z3 W }, c+ l3 }. c8 ^- N/ L
(1)
2 X: |* u6 Q2 z( [4 Y : h) Q. i. j- |! t9 U& C; i- V* J
(2)* W0 I$ B3 Q& V3 V5 F" G1 m H
' u% I6 F9 v3 W) K# U8 o3 yA. (1)
" X) J% g* d: S( E7 C% j" a8 l5 v* JB. (2)& b c' T/ u8 p o- v3 }
满分:5 分 ' H( i+ s3 ~1 M
/ B/ ^: O( B2 ]# S+ T2 ]* Z二、判断题(共 5 道试题,共 25 分。)V 1.
2 a# q; G( `7 t w/ r) m语法分析的任务,是对给定的符号串,判定其是否是某文法的句子。
t) F3 i5 V9 _A. 错误% I' a }* u0 x6 I
B. 正确
1 r7 L! b- c" f2 b A5 ?) k 满分:5 分
7 O! B* }, v& ^; p2. / @, \4 T. Z- b: q* b
设有过程说明: % B$ T$ ^2 x9 F5 A5 \5 o1 d9 H
PROCEDURE sem( x:integer );6 Z: P. o+ k- `$ D0 K
CONST inum=20;0 z3 J( s# |3 y% N, W7 Y
TYPE atype=ARRAY[1..2] OF ARRAY[1..5] OF real;
/ `, Y* e# d5 n# t0 J: g$ U VAR a,b : atype ;
6 j+ }/ N" Q7 z7 Y 下面符号表的相应内容是否正确?/ ~8 q% V" d* d% [
1 B4 l2 ^* C' b, R% j0 N正确资料见光盘
. X- i/ H2 N4 h1 b, _/ Z* fA. 错误2 U7 @' L$ C. U5 F$ y! z1 E
B. 正确' M& E" n! D1 [3 B3 A% [
满分:5 分
' F$ X2 U: ?+ R" H3. + A5 M9 S4 J+ L! U7 j4 o4 p
已知下述 pascal 程序片段和符号表如下:$ I% E1 ]3 V6 Z# S; ^
) |$ P, e% u6 W, B& `$ I
procedure lex ; var a:real; begin a:=5 end;
' g* O5 D- P- }1 r( m1 g( b
. l1 x/ T6 {4 p, e2 K- l6 m 8 j/ ^4 ^- C* r+ D0 a
) a+ \# d0 W' p5 G7 P* K# T j' P6 W
下列Token表示:lex ( i , i2 ) , var ( k , k2 ) , : ( p , p2 ), 5 ( c, c1 )9 m" r- ~: U! H
lex ( i , i1 )& Q/ l3 B& l# I7 G6 c
A. 错误
1 d# I( u5 l3 [0 r4 rB. 正确4 P, }8 B1 Y1 I. N6 S
满分:5 分5 b$ o& H, Z' M( _0 e: d2 k
4.
; J- m3 ?; z) L* U已知上下文无关文法为 G(S)=( Vn , Vt ,S , P ), 则:1 [# \ L. v& @5 C% R7 u
E1 N4 u$ V; C- H ① 若有 S α; 那么称α是句型;
0 V( @. M& u2 G' U! H4 T8 ^" a& T/ [
+ a" [$ h2 A+ n K" I P ② 若有 S α 且 α∈Vt*; 那么称α是句子 ; 4 F. r ]# @9 R- _- D' j+ ~
A. 错误0 W& b. e$ Q1 I
B. 正确$ y6 G: F" o& B9 V2 \( S' |
满分:5 分5 r) y- \' @# d! Z, r/ I% @ x
5.
0 W$ `6 _# L# f) w) D4 y9 {已知下述 c 程序片段和给定的符号表如下, main() { int a ,b ; b=2*a+5 ;} , U z& i5 d0 n; X/ V w ~
9 j; b1 ~" a( K6 ?# D1 S7 N" P# G
: M! @/ j% W. z; \
! j. w$ u, l& d! {5 z! ]5 k$ BTOKEN表示:int ( k , k2 ) , b ( i , i2 ) , 5 ( c , c2 )
; E& ~. U4 P- ~7 k+ W# e& {0 _, g# v- B0 C% _( H' p
A. 错误! }- x( @* I0 ~ V% x- l6 F9 J. d
B. 正确
5 B! g& [5 H, v6 a" Q9 B 满分:5 分 1 z# `: h- _% @0 c8 o5 r/ W( Z3 N
2 c. B3 b" Q3 P- o& e! |1 f三、多选题(共 1 道试题,共 5 分。)V 1.
9 @ e" ?! I' q- Z7 H7 d设下述文法 G(Z): Z -> aAb , A -> cA | d
" Y5 o' ^# Z! E8 j- X LR( )分析表1:
' X1 F; P B8 }0 e" H% t 3 m/ G8 p5 f$ Q7 e
LR( )分析表2:
R0 n& o0 e# e& K ( P5 t" ^# U+ S) A7 ^ c- c
选择下面正确的说法.
8 l/ U5 z% c& n" e, u. M2 UA. LR( )分析表1是正确的., E3 \7 r( u6 k8 Z$ ^, X# O$ \
B. LR( )分析表2是正确的.3 x5 G7 r D1 Q: _
C. 该文法是LR ( 0 )文法., ]7 F) e/ R, k8 I4 V+ v* n
D. 该文法不是LR ( 0 )文法.* X+ P# ~- s: J' w1 U
满分:5 分
# A4 A$ [% y: n3 T, G* j* ?) {/ W) `
|
|