|
东 北 大 学 继 续 教 育 学 院
$ Z9 ^5 a* W# B 编 译 方 法 试 卷(作业考核 线上2) A 卷(共 5 页)
! E3 z0 Z5 S! S& o! G# b6 n总分 题号 一 二 三 四 五 六 七 八 九 十& f2 c( }: @2 L
得分
& b! W( J/ Q# J: e) z" R" i: m一、更多资料下载:谋学网(www.mouxue.com)(在备选资料中选出一个正确资料,每题3分,共30分)
8 A4 Q' n* ^5 E. i) z- x5 W01. 程序设计语言一般分为( )和( )两大类, 其中低级语言通常又称为( )) ^* |7 f+ i6 M N
A. 高级语言,低级语言,通用程序语言" V- g5 {$ H8 \& b
B. 专用程序语言,高级语言,低级语言
5 V" o* E5 h' J. D' O% U* @C. 专用程序语言,低级语言,面向机器的语言
4 `/ f4 l& L) U6 ^D. 高级语言,低级语言,面向机器的语言# N8 W. u/ i9 N7 d# D0 F
02. 如果编译程序生成的目标是机器代码程序, 则源程序的执行分成两大阶段:( )和( )1 g3 B% b. F% B
A. 编辑阶段, 运行阶段; z* f, G: M+ w, C
B. 编译阶段, 连接阶段
4 [* D) i0 ~4 jC. 编译阶段, 运行阶段
. t4 x* h6 N# ~D. 编辑阶段, 连接阶段
! O0 }9 _, N! i/ @03.已知文法G(E) :
6 ^6 Z/ X4 U* q% B& l9 Z E -> T|E+T|E-T0 Z% L7 _' V* E( r+ o
T -> F|T*F|T/F
$ P/ a% y2 f- {/ Y3 ~ F -> i|(E)
' E$ M$ Z% R1 A% |# L5 W该文法的开始符号是: ( ), 终结符集合VT是( ),非终结符集合VN是( ),句型T+T*F+i的短语有( )
& ]/ c, U3 g# Q( M5 j' W* KA. E; {+,-,*,/,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i
5 |8 O( ^$ Q. LB. T; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i
" H) K4 e4 R' lC. E; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i
0 d: V. U5 z; t( O$ P PD. T; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F) ]& L& Z: A( @8 u. T
04. 文法G所描述的语言是( )的集合 " A# ^) j) H( {, @( E
A. 文法G的字符表∑中所有符号组成的符号串1 ]5 M. B: g0 L* e4 p* x5 [
B. 文法G的字符表∑的闭包∑*中的所有符号串) }0 R9 N8 }0 b3 l" S' B- [
C. 由文法的开始符号推出的所有符号串
) I5 r H6 |) c2 d0 C0 m2 RD. 由文法的开始符号推出的所有终结符号串
, y/ n0 |+ G9 Y3 ^; c05. 有限状态自动机可定义如下五元组:FA=(Q ,∑,Q0 , F ,δ),其中:( )
, [. ?' V6 {- z+ aA. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态集合,δ -状态变换函数 ;+ ~7 d/ x% h' N' T5 T& d$ X
B. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态集合 ,δ - 产生式 ;# r5 Y/ I2 u- R( n# a6 T/ L
C. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态 ,δ -状态变换函数 ;- h& W# r! H) x
06. 词法分析的单词识别中,区分关键字和标识符的方法,通常是把拼得的字符串首先查( ) , 若( )则视为( ) , 否则为( )
5 n/ o2 S- Z( z2 `& BA. 关键字表, 查到, 关键字, 标识符
}# @: g! o7 o* wB. 关键字表, 查不到, 关键字, 标识符9 P. E& g0 r; [& R! N6 C9 @
C. 标识符表, 查到, 关键字, 标识符
/ K' q, [% d6 t1 P+ H# O( q( pD. 关键字表, 查到, 标识符, 关键字
% {1 c1 l( g6 c; [- {07. 程序设计语言单词通常可分如下四类( )5 j& g d5 M, I* H- G
A. 关键字, 标识符, 常数, 界符
: o" b: V2 q. TB. 关键字, 变量, 常数, 界符, m7 l! Q. x$ f8 ` Y
C. 整型 , 字符型, 俘点型, 布尔型
% S7 o9 l: }- |* E& x6 Z08. 编译过程中, 语法分析器的任务是( )
9 U: F M& ~0 H, B" X(1)分析单词是怎样构成的0 P8 S6 a& ~& A& Z3 q* x& w( r
(2)分析单词串是如何构成语句和说明的0 H4 H& }8 P9 y1 A7 W0 i
(3)分析语句和说明是如何构成程序的& B6 ]6 p9 e7 n( h e' ^9 p! Z/ D
(4)分析程序的结构
' B/ |: ^, r) ]1 Q5 y3 D/ g8 eA. (2)和(3) # H9 ^$ c i: D
B. (4)
" x/ L5 Z8 Y" oC. (2),(3),(4)
2 P: [, u) N- x! ?; v( Y% a5 X6 iD. (1),(2),(3),(4)
8 |% @0 w; C5 Y" E# _3 x09. 设有文法 G(S): + c. H2 {. y4 b" B( |6 ?
S --> a A c | a A S | b
/ \: g- a# k& x3 i( XA --> d S A | c
$ n2 j) g7 @5 O% `5 ]指出下述符号串中,哪些是该文法的句子?
% m9 V% X' ?, m" F _, iabcdb, acc, acabc, adbcb, acbac;
' j/ T& ?% C5 s0 WA. abcdb
+ t# N5 U0 ^8 V$ VB. acabc, adbcb
+ d" p w6 j; m5 gC. acc, acabc, acbac
7 V. M# s1 E$ q& oD. acc, adbcb
) e6 n! b2 }8 C& }+ K3 ^10. 编译程序在其工作过程中使用最多的数据结构是( ), 它记录着源程序中的各种信息. 在这些表中, 尤其以( )最为重要, 它的生存期最长, 使用也最频繁。- A0 b% G" ` ~( h; ~5 i, j
A. 线性表 , 符号表 B. 表 , 链表
~7 _% | }4 H: WC. 线性表 , 链表 D. 表 , 符号表7 y5 V) e5 e) M5 ^5 `$ t
+ M2 {$ M7 i4 Q i z. E. [二、资料来源:谋学网(www.mouxue.com)(每题3分,10道题,30分)
7 Z& d( X- K% h4 \" j5 H01. “用高级语言书写的源程序都必须通过编译, 产生目标代码程序后才能投入运行.”这种说法( )
2 U6 d6 P4 t4 g, q' bA、错误 B、正确
/ w) U2 q0 ` y# `4 S$ X& u* c02. 编译程序生成的目标程序一定是机器语言的程序。( )1 ?7 | e0 X( H! X
A、错误 B、正确
( L t$ {# m; p- c1 F; J03. 文法的两种运算系指: 推导和连接。( ) 3 W/ d/ ]0 ?$ K! d6 H8 b$ _
A、错误 B、正确; v# ?* M; Y2 n! g
04. 文法是用于定义语言的,它可用如下四元组描述:; J% N# i0 r9 `5 A
G(Z)=( VN , VT , Z , p ),其中:Z称为文法的结束符号。( )
1 R! u6 I' }, z) T0 q( z' [A、错误 B、正确
: q9 K. W2 P7 k _05. 有限自动机可用来描述上下文无关语言语言。( ); _6 b( U+ H+ f. Y* r- e+ y
A、错误 B、正确
* v) Q1 x' S4 I B; W# i06. 正规文法是特指文法产生式仅具有如下形式:⑴ A -> aB ⑵ A -> a ⑶ A -> e。( )! J. d6 o7 J: ]) P- T
A、错误 B、正确, t) \+ v. p6 D/ W# K
07. TOKEN 是词法分析中单词的一种机内数据结构表示,其结构是{类,值}。( )$ @5 p& s+ i- V1 G- E$ N5 c' t5 A
A、错误 B、正确
/ r# v. |4 h* {. e0 O/ h08. 语法分析的任务,是对给定的符号串,判定其是否是某文法的句子。( )
, ^7 T) y0 G- K1 hA、错误 B、正确) X G C* ?) u3 P2 q0 j f
09.语法分析方法分两类: (1) 自顶向下分析; (2) 自底向上分析。( )7 p' K4 s" b- k' [
A、错误 B、正确
/ ^# u) p7 @ h3 E10. 过程的一次执行所需要的信息用一块连续的存储区域来管理,这块存储区叫做符号表。( )7 |& O; N2 l1 y' y( N; i6 p0 k
A、错误 B、正确2 M e; j* ?* w3 ?/ x3 }; f
0 x c& J. L) C3 l三、(15分)回答下列问题:
4 A, ~- e( z$ z7 M(1)写出表达式 a*(b-c/d+e) 的逆波兰式:8 e2 |, `+ R2 W
(2)写出条件语句 if (x>0) x=a+b/10 的四元式序列:
% m' T9 |' G) n. v1 s+ ~8 L/ r(3)设有算术表达式文法如下:
; Q- V. |$ j( R E --> T | E + T | E – T
6 x& I4 e5 E' w4 L, S T --> F | T * F | T / F + p ^( N0 G( C! a- W. ~) H5 u
F --> i | ( E ) 其中: i : 变量或常量;; d# \$ m1 o' d7 H. V' n- F! K
试构造四元式翻译文法并指出其中各翻译子程序的功能:* M* X' h4 m+ J c
( G2 Y. [- O: q# O- A/ ?& n U3 w- V4 u& H( l8 r- u, ^
3 p& Q3 I6 L# n
4 Z9 e/ c. \+ x- N: E' k- ~- |* L1 t( r
7 F" n1 q, C+ _3 o# n
6 R9 N7 ~9 g0 s6 G, D% W
a1 t) i4 t7 Z7 K/ W2 K/ m
; m( e$ W+ O! r
4 H* C0 R3 I" p; l7 W
$ ?' w! `. N; q& M) Q
& B& b) Y8 c/ \2 [* w4 u4 `" z) N) n- f9 n/ W# g0 ]
% t4 Z/ H* b% g& W
3 b/ r1 J. Z! R! q$ o四、(15分)试已知符号串集合为: A= { a bn c ,d │ n≥0 }
6 `, S3 W. t; _; M1 [! x(1)构造相应的有限自动机:
' a/ g7 `3 S" ]$ h% R$ d& Q(2)构造相应的文法: G(S): & a) Z' l5 o6 o+ p6 Y% t3 f* ^
(3)已知有限自动机 FA (右图) :
A0 C# F2 `8 b, v2 L7 p" U* M8 F4 z9 ~: C2 \1 q% z
FA: ( I& _3 S( o3 h: J9 X9 N5 T; j! b
) {: Q+ k# F3 ?6 g
写出 FA 所表示的符号串集合(语言):
2 b6 m" P3 I& b* W9 h2 D- i: W5 |1 n
- K$ Q! O9 o8 A2 K: x D! U* U* g
2 u6 `0 J9 o) y0 @ ]; L" @0 f- r% |5 l5 x0 o
; h+ X, [& t3 b s8 `- o
& I( W& E: E9 o: K4 w+ ?. n) B8 Q; f T$ J1 L% O9 ~. y% K( D
: e0 g6 z, o# ^# q, W
- \! K( C* h/ X, H. M; @' B
& W/ ?/ [ [9 Q+ X& u: H u% R9 I9 E7 l; _, E- s( _6 r+ l
& f+ s# _% |7 E( L
- m: e- c' u! @
# q2 B, P- n; ?" m+ B3 J6 f2 O( F五、(10分)设有文法 G(S):
" `1 T. A$ [! @2 r% oS -> a B d | b A B$ u" u9 A D+ F' C8 e2 Q/ c! L
A -> a A b | b( R1 F% F- w! P; @
B -> c | B c
0 l+ f; [/ I! @( w/ a' E(1) 证明 baAbcc 是一个句型,画出此句型的语法树, 指出此句型的短语、简单短语和句柄; 3 G9 J4 Y" l& k
(2) 把文法中的左递规产生式变换成非左递规产生式。
! D( ]0 ]7 P/ ~- X8 n+ b
- M* _+ q E& t3 D/ f/ q' D& l9 X8 \* Z0 G
|
|