|
东 北 大 学 继 续 教 育 学 院1 W2 q- ?0 q" b) h
编 译 方 法 试 卷(作业考核 线上2) A 卷(共 5 页)
' n! C' F# c8 d9 s# o总分 题号 一 二 三 四 五 六 七 八 九 十$ i$ \# X* u) m8 [4 V9 c" v7 [
得分 3 \; q8 a- `+ p; ~* d* r8 @
一、更多资料下载:谋学网(www.mouxue.com)(在备选资料中选出一个正确资料,每题3分,共30分)
' z- k8 Y$ W4 [% U$ j; X01. 程序设计语言一般分为( )和( )两大类, 其中低级语言通常又称为( )4 l5 B% \! w& T
A. 高级语言,低级语言,通用程序语言
, M7 K9 _2 C5 N& X( nB. 专用程序语言,高级语言,低级语言
0 {+ L0 l! d( A5 |C. 专用程序语言,低级语言,面向机器的语言* e0 h$ d, F" e% N. O4 n
D. 高级语言,低级语言,面向机器的语言8 x9 \ r' n7 [$ h+ N
02. 如果编译程序生成的目标是机器代码程序, 则源程序的执行分成两大阶段:( )和( )0 r7 d7 J) M6 x5 i# M9 a O
A. 编辑阶段, 运行阶段8 [6 x/ w; w2 x c' g" H
B. 编译阶段, 连接阶段) |; @) a( O9 l2 c/ m' c3 A
C. 编译阶段, 运行阶段" i6 {7 ?5 w! ]2 a, x, e: t
D. 编辑阶段, 连接阶段0 F6 \9 p! s$ P* D9 n9 K" r5 n
03.已知文法G(E) : 2 o3 y8 d8 }" f* T, a% n
E -> T|E+T|E-T o) F8 p, l+ k6 q- q( X8 Y3 `9 A
T -> F|T*F|T/F
7 e4 j) I' _5 e& z; D5 i F -> i|(E)
( M4 |! W: Z8 \% B2 x) K该文法的开始符号是: ( ), 终结符集合VT是( ),非终结符集合VN是( ),句型T+T*F+i的短语有( )+ g7 j3 {' W; K5 o2 q
A. E; {+,-,*,/,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i
8 L) d! @) y* N* YB. T; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i
- Q/ q' n+ n- J1 K+ pC. E; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i
+ m* H9 n1 r ~" w7 D5 A+ Q4 W/ L5 C/ S5 uD. T; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F& }- I' f5 G3 [2 n
04. 文法G所描述的语言是( )的集合 , i# y8 l7 O2 ]5 D& x
A. 文法G的字符表∑中所有符号组成的符号串) t Q, b4 ?1 ]& m( F+ v* e5 L) n
B. 文法G的字符表∑的闭包∑*中的所有符号串0 d7 c- X+ N! k
C. 由文法的开始符号推出的所有符号串
; F2 ]1 Q+ s7 w; r) t* y) m9 L MD. 由文法的开始符号推出的所有终结符号串. _ q# O; x0 Z! W+ p( y* I
05. 有限状态自动机可定义如下五元组:FA=(Q ,∑,Q0 , F ,δ),其中:( )7 g! k+ V7 Z9 w$ a
A. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态集合,δ -状态变换函数 ;' c- m% j5 E$ Q* t: C8 o
B. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态集合 ,δ - 产生式 ;
p/ r$ }, s. U( ^; y0 xC. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态 ,δ -状态变换函数 ;
; z% O9 i1 x& {, p* q06. 词法分析的单词识别中,区分关键字和标识符的方法,通常是把拼得的字符串首先查( ) , 若( )则视为( ) , 否则为( )
1 ]6 ?8 d& B/ ~# QA. 关键字表, 查到, 关键字, 标识符
, s: I7 p5 [+ B; u. NB. 关键字表, 查不到, 关键字, 标识符$ U% T, U: \7 c; Z/ ?# C# S
C. 标识符表, 查到, 关键字, 标识符6 R4 n8 w- t6 _+ j+ ], [3 f
D. 关键字表, 查到, 标识符, 关键字
& [- f7 Z Y* i o! W# Y07. 程序设计语言单词通常可分如下四类( ), m+ m; X* K2 p4 X% j8 H
A. 关键字, 标识符, 常数, 界符# q) L, q2 H- @1 E7 o2 p/ C5 h
B. 关键字, 变量, 常数, 界符8 Z2 z0 C V# ^ K0 E
C. 整型 , 字符型, 俘点型, 布尔型
- d* K4 O" k8 w/ O- t: p6 R5 O08. 编译过程中, 语法分析器的任务是( )+ `6 ~3 F% @4 U+ [# a
(1)分析单词是怎样构成的9 x0 {" }9 G# ^+ |5 I
(2)分析单词串是如何构成语句和说明的5 x: u0 u* t9 i; @
(3)分析语句和说明是如何构成程序的
3 z5 H8 e8 A- ~ b, {: [8 {(4)分析程序的结构/ g. F( ?4 |, x+ O
A. (2)和(3)
5 L# p( \& f. b2 YB. (4) 1 ]% e3 {2 ^' N3 s2 K" P
C. (2),(3),(4) 7 e9 ^) S: i6 G9 m. F
D. (1),(2),(3),(4)
% k: L) }& k5 W$ s/ O; y09. 设有文法 G(S): 6 q6 _+ ?$ [ f1 e4 Z6 Q, |: r0 C
S --> a A c | a A S | b
% i" I, o; e0 o( Q5 jA --> d S A | c
+ Z% Y( M6 [$ G/ w" a指出下述符号串中,哪些是该文法的句子?
( v3 I: [! _9 \$ b; z& T0 Gabcdb, acc, acabc, adbcb, acbac;/ @# M+ i# H7 D3 |& `1 Y* F
A. abcdb d; \, v9 h- f9 x0 k* w" @! _
B. acabc, adbcb # A- p0 z7 O' q2 V2 t8 N }; @3 w
C. acc, acabc, acbac
& A7 G9 s: S& h5 ^4 e$ W0 D" SD. acc, adbcb
& D9 V1 G4 I7 T4 {, u10. 编译程序在其工作过程中使用最多的数据结构是( ), 它记录着源程序中的各种信息. 在这些表中, 尤其以( )最为重要, 它的生存期最长, 使用也最频繁。
9 c1 e7 N5 N* G+ T5 rA. 线性表 , 符号表 B. 表 , 链表
$ ^8 p. U2 X+ A' sC. 线性表 , 链表 D. 表 , 符号表+ B( v0 \$ V- F4 O1 o* J }# o
* g0 D' |' G3 @1 q3 ^0 b2 v
二、资料来源:谋学网(www.mouxue.com)(每题3分,10道题,30分)
+ ]: f9 N9 }4 x6 e' u, K. T5 y01. “用高级语言书写的源程序都必须通过编译, 产生目标代码程序后才能投入运行.”这种说法( ) " u/ T3 J$ H6 [/ m4 `( d
A、错误 B、正确. O2 R+ o# s0 B3 Q
02. 编译程序生成的目标程序一定是机器语言的程序。( )
. b, I" a4 q& q* L. b7 {A、错误 B、正确 H8 R( ~1 {$ b/ d( H5 \1 W1 _, B
03. 文法的两种运算系指: 推导和连接。( )
, A' g* N+ V3 `8 {; k& zA、错误 B、正确1 b, ?; f5 F( M) |2 \( V' d1 c7 S
04. 文法是用于定义语言的,它可用如下四元组描述:. z& D5 F3 S! z
G(Z)=( VN , VT , Z , p ),其中:Z称为文法的结束符号。( )
3 p- G3 x9 {4 c( tA、错误 B、正确
$ e5 W9 K7 u- J, t: d2 {3 Z- i5 Z05. 有限自动机可用来描述上下文无关语言语言。( )
9 C1 z- z3 W" ]5 v4 VA、错误 B、正确- r! I) M6 c$ K& ~
06. 正规文法是特指文法产生式仅具有如下形式:⑴ A -> aB ⑵ A -> a ⑶ A -> e。( )2 y7 T$ w6 c6 g
A、错误 B、正确, ]1 {& S9 e; T5 y6 P: e) o# h
07. TOKEN 是词法分析中单词的一种机内数据结构表示,其结构是{类,值}。( )
9 t/ O( E8 p3 `0 h/ VA、错误 B、正确" Y$ U* q8 h, J+ c
08. 语法分析的任务,是对给定的符号串,判定其是否是某文法的句子。( )) w2 o4 C8 h5 r! @0 A! e
A、错误 B、正确4 O6 G6 J9 F' |. Q ?4 a
09.语法分析方法分两类: (1) 自顶向下分析; (2) 自底向上分析。( )
7 Q9 _* v# |3 }0 qA、错误 B、正确& }% E% x3 G" D! u9 K
10. 过程的一次执行所需要的信息用一块连续的存储区域来管理,这块存储区叫做符号表。( )9 o% I4 k5 g" ^# c/ g
A、错误 B、正确
. ~, L, z+ W6 D2 O- r6 h
4 P# a3 |) a" K* y* F三、(15分)回答下列问题:
; b( Q5 u1 n5 N, a: m; f(1)写出表达式 a*(b-c/d+e) 的逆波兰式: h( m, X& g6 P1 {5 l$ T4 _
(2)写出条件语句 if (x>0) x=a+b/10 的四元式序列:
5 @( f; u, K4 G$ z8 b h(3)设有算术表达式文法如下:% D( u$ L$ U) t$ R9 {' Q
E --> T | E + T | E – T
6 ?- {" q4 ~- L4 u T --> F | T * F | T / F 3 i8 f! U0 p% d" D9 s2 i
F --> i | ( E ) 其中: i : 变量或常量;8 O' F( b1 V+ V) I0 x
试构造四元式翻译文法并指出其中各翻译子程序的功能:
. X' p/ F- h: F% v
/ v2 y4 |1 ^, T/ ] m
5 T7 p7 j% L4 ?# s, ?; b8 d4 x3 S) `7 t- f+ _' }0 p: I& N9 w. x
% z* L. D5 y8 T" J. \1 |/ W3 \; _+ Z) F; z: W
0 p$ p( F, F. B2 I; g, _. Q
1 ]& u6 h K; \) v
2 }7 H6 B1 `2 x+ E5 O
% |1 A/ M1 C d, _8 h, r" y
( w, K/ U& _/ I9 b" ?% y- P
( x+ B3 \& S& s) V# K4 j
/ t% X' v% D( c( O% K# o" ~7 S3 b0 z
/ |" ~; X" \! N- X4 _$ @5 O _/ S- d$ f& }2 \
& b _ O! c7 m) K四、(15分)试已知符号串集合为: A= { a bn c ,d │ n≥0 } 9 ?+ |% t: w: p& `: l& F( k: W s2 h
(1)构造相应的有限自动机: % A6 P) W/ Z& N% j
(2)构造相应的文法: G(S): # X/ X' M9 A) u0 J, p1 ]$ _" Y9 d
(3)已知有限自动机 FA (右图) :
) a3 W8 I5 J+ \( t4 q- t1 |; @! V, T/ B+ g6 y- `+ i* p
FA:
0 j- \1 X c6 p% s* R8 s3 C* R+ G3 n6 c
写出 FA 所表示的符号串集合(语言):
7 }0 V) P3 e6 D) d$ L2 y( S% H! G/ y2 R
4 f y3 o/ M6 H. M; l( v5 ?) o
5 K5 s5 A: t4 W' n F9 S
& r% Q7 D, ]3 `( a! ?( F5 R0 e" B7 F& L- B+ }
* B# K* _. V3 P4 y! O/ ^* a4 Q
+ ~1 }* V" f; v& I# ]* a5 i. Y: q% W* W5 } K& z. d5 G
% U( \/ }7 J2 l; q- {
4 G3 b( T9 s5 t6 Y
9 S3 H, b9 t& z8 c6 B
2 b1 r1 Z0 D% k+ s0 X5 s3 \ i
/ ?8 g/ ]* H- `- M, z$ m, L5 j8 ]
, Q* s+ A2 ~$ |五、(10分)设有文法 G(S):; v5 [. y" I/ {
S -> a B d | b A B
5 B2 u/ R) l0 u b7 L) y/ q A -> a A b | b
& c, d$ O: S4 d$ I9 d6 N B -> c | B c " x* K; Z4 g6 K" L: Y
(1) 证明 baAbcc 是一个句型,画出此句型的语法树, 指出此句型的短语、简单短语和句柄;
. L. k- x- v8 ^8 `$ ~$ j% _(2) 把文法中的左递规产生式变换成非左递规产生式。' I! L( @: w& p. H: r P
& n9 E2 e3 k9 G, E
6 O, J. M1 F* e) j8 U3 e
|
|