|
东 北 大 学 继 续 教 育 学 院
% a3 \; n7 {, I( ?( r0 l0 M 编 译 方 法X 试 卷(作业考核 线上2) A 卷(共 5 页) ) t. Y `) m: q( U# L i
总分 题号 一 二 三 四 五 六 七 八 九 十
5 w8 B" f1 V) a8 Z& N& J# I 得分 2 v% v3 i0 s- x% d
一、更多资料下载:谋学网(www.mouxue.com)(在备选资料中选出一个正确资料,每题3分,共30分)3 A- C& q0 q7 `
01. 程序设计语言一般分为( )和( )两大类, 其中低级语言通常又称为( )
4 D/ ?' c* {* X! J3 V: zA. 高级语言,低级语言,通用程序语言
2 g8 r& J4 w$ N* ]0 R* S, m: _- V. MB. 专用程序语言,高级语言,低级语言
2 B' W6 ^: L: v: tC. 专用程序语言,低级语言,面向机器的语言* J. y! e2 G) V, O1 l8 F
D. 高级语言,低级语言,面向机器的语言, a' o- a3 i& D# g. N
02. 如果编译程序生成的目标是机器代码程序, 则源程序的执行分成两大阶段:( )和( )) b. }2 Q& p. _' [4 Q8 G9 }
A. 编辑阶段, 运行阶段/ Y: O( P6 @) F9 R
B. 编译阶段, 连接阶段
* d, V% B4 n' V4 {8 b9 x1 xC. 编译阶段, 运行阶段
* K& H* t4 e9 m# dD. 编辑阶段, 连接阶段
) C' q8 [2 b- G0 ?/ S, y03.已知文法G(E) : $ {; s* N' u* O6 n
E -> T|E+T|E-T
( v6 d0 ~% a0 a T -> F|T*F|T/F
& f4 g+ Z# u/ k6 ?9 ] F -> i|(E)$ t, p1 ~; T3 {$ \1 ]) p
该文法的开始符号是: ( ), 终结符集合VT是( ),非终结符集合VN是( ),句型T+T*F+i的短语有( )
" W( s. E* s9 m- _4 xA. E; {+,-,*,/,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i/ ~" j5 u4 {: f; U q' w
B. T; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i
/ h9 {9 A w; y, A& o0 I: SC. E; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i
1 a. G1 E9 U1 w/ y3 m8 YD. T; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F
% y3 h; I2 \9 {; J$ z9 E04. 文法G所描述的语言是( )的集合 1 I* A6 G2 ]9 r- `
A. 文法G的字符表∑中所有符号组成的符号串
1 |0 f; ^% H1 w8 h6 B iB. 文法G的字符表∑的闭包∑*中的所有符号串) ~/ u* H! i7 O9 l: l% k
C. 由文法的开始符号推出的所有符号串
( h& T% e4 N, f+ u4 DD. 由文法的开始符号推出的所有终结符号串
( d: d& w- [' V- q$ A8 Y: w05. 有限状态自动机可定义如下五元组:FA=(Q ,∑,Q0 , F ,δ),其中:( )/ a& \5 @% l( p3 t; a. J! t& }
A. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态集合,δ -状态变换函数 ;
. c) ?7 H8 G; O6 Z/ J6 dB. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态集合 ,δ - 产生式 ;
! R. ~$ T4 n$ E. ?! ~C. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态 ,δ -状态变换函数 ;/ L$ J ?& C' E, M. y
06. 词法分析的单词识别中,区分关键字和标识符的方法,通常是把拼得的字符串首先查( ) , 若( )则视为( ) , 否则为( )2 A" }. _% I% c! X
A. 关键字表, 查到, 关键字, 标识符
) I2 U; x5 K7 a0 a' M V+ DB. 关键字表, 查不到, 关键字, 标识符7 o# U* d1 u' V/ z
C. 标识符表, 查到, 关键字, 标识符- y/ ~% y3 h) V2 O: L/ X; J* t8 G
D. 关键字表, 查到, 标识符, 关键字! \; q. }4 }( I* f
07. 程序设计语言单词通常可分如下四类( )
& n1 g/ R2 r& D& g9 V) C; fA. 关键字, 标识符, 常数, 界符* i: `( F3 H( ]" ^* |, W
B. 关键字, 变量, 常数, 界符
% ?/ W4 A+ U0 Z0 g; q1 ~C. 整型 , 字符型, 俘点型, 布尔型. C6 z; ^2 H9 v; d7 h1 E. L. `
08. 编译过程中, 语法分析器的任务是( )) ~2 Z* O. H2 q
(1)分析单词是怎样构成的
5 Q- E% d6 i( D4 A0 e& X t) l9 M(2)分析单词串是如何构成语句和说明的
# T" W6 X k7 ^+ @0 L(3)分析语句和说明是如何构成程序的
+ ^% g( L. {1 O. h' X6 E8 N(4)分析程序的结构! E4 Q0 y( J8 U. X/ Q
A. (2)和(3) 7 c' I5 R- N$ x* w ]5 \: s4 R( P
B. (4)
4 o0 e5 \" c' y% VC. (2),(3),(4)
' v4 K' W9 G \; o0 W! S# \D. (1),(2),(3),(4)# ]/ g/ m+ [$ t- z; V! d& o: {
09. 设有文法 G(S):
: b+ j L/ O$ j$ l3 ~6 tS --> a A c | a A S | b. ?" q1 ]" d8 I% |0 Z0 I
A --> d S A | c/ f% j$ q$ y' w# i* e. [9 a; |
指出下述符号串中,哪些是该文法的句子?' C! D, x/ ~. K. ]0 a" y
abcdb, acc, acabc, adbcb, acbac;
/ d* `6 [# @7 _6 w7 ^' v9 rA. abcdb
( q Y' T8 ~2 ]6 O q& MB. acabc, adbcb
; q( D+ s! `2 S( |) C+ Z7 w/ TC. acc, acabc, acbac
' @" e5 S2 `1 u" y* y& Q2 Q/ hD. acc, adbcb
; g. |+ ^3 m4 m; n10. 编译程序在其工作过程中使用最多的数据结构是( ), 它记录着源程序中的各种信息. 在这些表中, 尤其以( )最为重要, 它的生存期最长, 使用也最频繁。
0 X; U2 P; h; A- z' U1 KA. 线性表 , 符号表 B. 表 , 链表
" ~* Y5 G! N6 Z2 e" u: OC. 线性表 , 链表 D. 表 , 符号表
) |5 D0 A& }5 m6 k" C8 k4 j
1 h o* Q, @" H/ r# w7 E8 }二、资料来源:谋学网(www.mouxue.com)(每题3分,10道题,30分)
$ G- M! L& f4 |9 w% [+ Q01. “用高级语言书写的源程序都必须通过编译, 产生目标代码程序后才能投入运行.”这种说法( ) & b4 m' |5 h! B, b( b
A、错误 B、正确
/ V2 C. ` u+ i* Y5 W4 @' ]3 R: h02. 编译程序生成的目标程序一定是机器语言的程序。( ). R. q% Y, K7 d+ ^4 R0 L" }
A、错误 B、正确
6 X( [6 G( Y, Z) e$ H03. 文法的两种运算系指: 推导和连接。( )
- q! W; @0 A% _; QA、错误 B、正确
, W7 x- ~) v' g6 Q2 z7 X; ]04. 文法是用于定义语言的,它可用如下四元组描述:, ~" u9 n, Y( x* S% w
G(Z)=( VN , VT , Z , p ),其中:Z称为文法的结束符号。( )
. K& Q T- N, \6 h; C! O1 zA、错误 B、正确" Y; P1 M2 W. i
05. 有限自动机可用来描述上下文无关语言语言。( )2 I3 f) |* `# I3 Z5 X2 e
A、错误 B、正确: j: l9 g) s5 R" {) F6 ~
06. 正规文法是特指文法产生式仅具有如下形式:⑴ A -> aB ⑵ A -> a ⑶ A -> e。( ); Z D! U9 p7 J
A、错误 B、正确) [- E6 ^+ p" J+ q4 W
07. TOKEN 是词法分析中单词的一种机内数据结构表示,其结构是{类,值}。( )! M" k3 S* }, H5 A, W
A、错误 B、正确
$ d, p7 A* n/ _% E! N$ L08. 语法分析的任务,是对给定的符号串,判定其是否是某文法的句子。( ). D* o; D* f6 J( C; x6 I `
A、错误 B、正确
\+ j$ f0 ]% ^$ @, X! T09.语法分析方法分两类: (1) 自顶向下分析; (2) 自底向上分析。( )
& D& C1 ?: D+ D) W9 [* aA、错误 B、正确2 s9 J" j: L2 \. \. c
10. 过程的一次执行所需要的信息用一块连续的存储区域来管理,这块存储区叫做符号表。( )
7 S0 {* l0 h: H% \A、错误 B、正确9 L3 ]. J5 F! c# ~( M5 Z
h- L) b; S8 c8 E! P0 S
三、(15分)回答下列问题:
. A( q! D% H7 A [8 L+ B(1)写出表达式 a*(b-c/d+e) 的逆波兰式:( T! }( R; S! D% D& i
(2)写出条件语句 if (x>0) x=a+b/10 的四元式序列:
^& \2 ]8 Q9 K' Y5 M) F$ V& |(3)设有算术表达式文法如下:
/ Z4 |! k+ `8 N _5 _. Y E --> T | E + T | E – T
& b7 K$ A9 @+ x T --> F | T * F | T / F
0 S; X% g d7 g- @ F --> i | ( E ) 其中: i : 变量或常量;
9 |7 _5 j* A9 d- T0 X4 i试构造四元式翻译文法并指出其中各翻译子程序的功能:
( k+ N+ i+ a5 r4 D2 ?* K4 c- R
4 C; [8 w) ^; ^) C
; W& R* q& F. D/ P" Y" k3 q
8 e5 K( ?' i) D Y4 o7 h' c( Z2 L4 I- W' q4 c, e! ^% ~$ H* ~$ n
- L' U. _9 }/ P8 c$ M# {- ?# H- H
3 O$ `; L/ k% ]
( o% _; C+ r. T2 K' W/ [# d9 [, |( v( r- M2 I
3 Y- J( Z! s9 |) c( D( ?( [' L; l; \( ~2 E1 v
' a( ]- l; W6 D: W; k
. b$ j/ Q! ] K) p+ y* l1 @' A
) k( I3 c. x; _; v. a& a# P6 q( i" e/ q1 g# c9 U3 ^ f! j( `7 ~
" P& A. W# L3 @7 Z. r
四、(15分)试已知符号串集合为: A= { a bn c ,d │ n≥0 }
; g( { q8 e$ J7 x. K(1)构造相应的有限自动机: 5 _! X( K2 l" q; h; C
(2)构造相应的文法: G(S): & M3 q4 {/ a8 b
(3)已知有限自动机 FA (右图) :& y' M3 h) ?" r& t
! F8 e6 v/ k8 @. n, v- @0 c
FA:
, B1 x4 D$ m8 [# J! T& \5 n% z6 F& n! r( j, G, F A
写出 FA 所表示的符号串集合(语言):
" t$ l7 v5 w; w/ g
, ~1 L4 y" h0 |7 L, J$ v
7 Q0 @0 k3 k$ U h! Z3 N `" I% n# @/ p. i' @' p
' Y4 V! ], K u+ n. D* @+ N- D7 M6 O6 K7 `# w" t7 O
# i5 C" D' Y4 d# c7 M
" w/ v0 N# t# P8 w4 _! h
" M7 O, g; E4 S6 d- W8 k" E) Y4 T4 C8 l
: W$ J/ E" D6 g/ `9 }
- c' A0 u/ C. H5 d0 s9 i$ ^+ j' Z+ i& U
5 E5 U! P9 G. M/ e: x0 y( m3 F$ U4 u3 q8 B
/ j9 V. P6 V& @
5 t8 M: h- S$ Z F9 C- e! p0 S( w8 ^
五、(10分)设有文法 G(S):' \- l1 @" c+ M
S -> a B d | b A B% N1 k7 s/ d6 F0 ^& v
A -> a A b | b, U8 ^6 M3 i5 G/ o9 i) b. n
B -> c | B c
- {$ U( S5 [. j(1) 证明 baAbcc 是一个句型,画出此句型的语法树, 指出此句型的短语、简单短语和句柄; ' W, W6 e6 ?) C% D E! h* c
(2) 把文法中的左递规产生式变换成非左递规产生式。
# @# Q3 o, C- {9 `
5 q/ {+ J& s# Y) A5 [; c
) c, }0 z0 J9 Z |
|