|
东 北 大 学 继 续 教 育 学 院
9 p4 w g; H; ~4 W2 _7 e; n 编 译 方 法X 试 卷(作业考核 线上2) A 卷(共 5 页) 4 h! G7 w; W* F1 z3 d
总分 题号 一 二 三 四 五 六 七 八 九 十
# T$ p5 A6 m7 j5 {" _" n 得分
( B9 a7 }: c) x: ]8 N. C( a. g: ^/ F一、更多资料下载:谋学网(www.mouxue.com)(在备选资料中选出一个正确资料,每题3分,共30分)
6 ?5 N% h1 w T) x$ L* a01. 程序设计语言一般分为( )和( )两大类, 其中低级语言通常又称为( )
7 t; N) X7 K5 `1 A/ Q! r; HA. 高级语言,低级语言,通用程序语言0 C; X8 j* [3 e! |9 I/ @
B. 专用程序语言,高级语言,低级语言
; k9 Q. p7 ?$ V4 bC. 专用程序语言,低级语言,面向机器的语言
. K. f% m; C5 d- v. rD. 高级语言,低级语言,面向机器的语言. t1 x4 W* |3 T0 ~; ^
02. 如果编译程序生成的目标是机器代码程序, 则源程序的执行分成两大阶段:( )和( ): v) J+ A- t0 o3 O I- [, k
A. 编辑阶段, 运行阶段
+ A1 E( z8 g' O9 q; V7 dB. 编译阶段, 连接阶段
1 L" ]8 G6 H# {+ J8 o" [$ pC. 编译阶段, 运行阶段
3 c( P" D8 A, R3 D9 ]* RD. 编辑阶段, 连接阶段
% R/ n, i4 }- q9 K03.已知文法G(E) : " ]7 f0 i' T1 i# u; R" ^6 _9 j
E -> T|E+T|E-T) y2 O( t& [- r, Q+ i2 A
T -> F|T*F|T/F
4 `3 O- l4 k8 m" i' V ^* v F -> i|(E)0 J* N/ a! A6 P( a
该文法的开始符号是: ( ), 终结符集合VT是( ),非终结符集合VN是( ),句型T+T*F+i的短语有( ) ~: l5 \8 G- ~- l1 p& @
A. E; {+,-,*,/,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i
; `. [7 A, V& r+ q$ [; wB. T; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i
- E6 E4 H& X) vC. E; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i
1 x$ Q5 g# W7 K7 a7 F2 [8 ~D. T; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F
) \) L. g) a9 f* C$ R2 ~. c04. 文法G所描述的语言是( )的集合 ( m% x6 j* y7 v# c: z
A. 文法G的字符表∑中所有符号组成的符号串
' K1 J* z& o4 q# UB. 文法G的字符表∑的闭包∑*中的所有符号串
, E& m, l* ~/ @+ }& ?C. 由文法的开始符号推出的所有符号串
1 X8 z- Y8 O! Z- cD. 由文法的开始符号推出的所有终结符号串, I( Z* P( K& B' N( s* O( k: x
05. 有限状态自动机可定义如下五元组:FA=(Q ,∑,Q0 , F ,δ),其中:( )
/ H4 x' U! z5 H- z" L5 iA. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态集合,δ -状态变换函数 ;3 }2 o, J, u+ W. {; x
B. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态集合 ,δ - 产生式 ;! H% X7 s" a: X! @7 ^& n+ @; O8 M' L6 `
C. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态 ,δ -状态变换函数 ;# n" L X1 w4 A/ D- |3 n9 N& Q
06. 词法分析的单词识别中,区分关键字和标识符的方法,通常是把拼得的字符串首先查( ) , 若( )则视为( ) , 否则为( ), D$ m/ k' V8 q `0 V5 @& J6 ]
A. 关键字表, 查到, 关键字, 标识符
) S% Q2 x' v6 pB. 关键字表, 查不到, 关键字, 标识符
* O9 t9 c# f0 h, ~6 p- M$ M3 UC. 标识符表, 查到, 关键字, 标识符3 E% R' Y2 n$ p, D0 M4 P# P
D. 关键字表, 查到, 标识符, 关键字' J0 R) X, i) s% l v3 Z
07. 程序设计语言单词通常可分如下四类( )' u. Y( a+ C- ` G' G; t( \% N. J ^
A. 关键字, 标识符, 常数, 界符6 o: q* o5 R% M, {) G4 }
B. 关键字, 变量, 常数, 界符9 Y2 e Q. v' K+ R
C. 整型 , 字符型, 俘点型, 布尔型+ Q& I% ^) R* I9 B# p
08. 编译过程中, 语法分析器的任务是( )5 @ H. Z+ Y' E- _: i( I2 ~
(1)分析单词是怎样构成的
J, p9 L& ?0 ?( h9 J(2)分析单词串是如何构成语句和说明的' A) Z* J4 J) }% T5 X5 P! `
(3)分析语句和说明是如何构成程序的, ` c+ L8 Z; e" E1 R3 ^
(4)分析程序的结构+ k5 [* R( @% f! F5 t d; A
A. (2)和(3) 3 Q$ E5 b i' C8 d2 Q* X
B. (4)
% U" z+ y7 q/ f4 [C. (2),(3),(4) 8 M; U5 |. ]0 f
D. (1),(2),(3),(4)
9 C: Y/ b) w. Q1 E4 c& q- N09. 设有文法 G(S): * x/ I6 ` s9 q) @2 C
S --> a A c | a A S | b, h- Z, e# V' q: b) U( V/ l
A --> d S A | c4 A" G, ?/ K6 o% d6 @
指出下述符号串中,哪些是该文法的句子?
% S: Q' }4 }, }( U+ Iabcdb, acc, acabc, adbcb, acbac;- i4 @8 O$ t, }# k$ a
A. abcdb 4 U( K3 G g6 j) E3 z0 C! ~0 H0 y
B. acabc, adbcb
o* Q% e0 a5 ~ o1 DC. acc, acabc, acbac . p# G3 B1 Q5 h+ f( N
D. acc, adbcb
" B$ l! n& M4 P10. 编译程序在其工作过程中使用最多的数据结构是( ), 它记录着源程序中的各种信息. 在这些表中, 尤其以( )最为重要, 它的生存期最长, 使用也最频繁。
6 [* j: f' n. d# t/ eA. 线性表 , 符号表 B. 表 , 链表
& M0 N2 S+ {4 ~2 z1 U7 k2 ?C. 线性表 , 链表 D. 表 , 符号表
# T" \$ h& Q& q2 l' F3 n$ D/ J Z9 S$ D3 B+ C7 r1 W; K1 E' X. b
二、资料来源:谋学网(www.mouxue.com)(每题3分,10道题,30分)
0 E9 w9 j( b$ T5 g01. “用高级语言书写的源程序都必须通过编译, 产生目标代码程序后才能投入运行.”这种说法( )
+ J( e0 Z& M# mA、错误 B、正确' ]: |2 M& r# H0 c3 N3 z
02. 编译程序生成的目标程序一定是机器语言的程序。( )
2 e7 y+ L# B! ~- tA、错误 B、正确
) q. z+ I, ]* | V) H03. 文法的两种运算系指: 推导和连接。( )
4 U6 F/ F( b' ]& m4 BA、错误 B、正确, B% Q, ~$ r$ Q$ h! K
04. 文法是用于定义语言的,它可用如下四元组描述:
5 Y6 v6 e. e9 p+ OG(Z)=( VN , VT , Z , p ),其中:Z称为文法的结束符号。( ) , U' l& Q7 H) ~# v4 K+ c _* m5 ~
A、错误 B、正确0 b- Y, j$ b) _
05. 有限自动机可用来描述上下文无关语言语言。( )$ X: D5 l2 n, R T) g
A、错误 B、正确
; V h( U* d" E/ D$ K/ K06. 正规文法是特指文法产生式仅具有如下形式:⑴ A -> aB ⑵ A -> a ⑶ A -> e。( )! I* F& S2 S9 y5 F4 o+ a9 n5 z
A、错误 B、正确
( A7 J% K8 H G( ^2 Q7 E07. TOKEN 是词法分析中单词的一种机内数据结构表示,其结构是{类,值}。( )% ^& ?0 J1 Q. N& ?$ s6 ]
A、错误 B、正确& E. u+ _$ B* j1 q* `/ k6 u m; d
08. 语法分析的任务,是对给定的符号串,判定其是否是某文法的句子。( )6 d" Y6 Z5 L6 Q7 X! \8 n
A、错误 B、正确
! A6 z/ G' \' f' e$ ?2 P09.语法分析方法分两类: (1) 自顶向下分析; (2) 自底向上分析。( )4 f, [. [- P K
A、错误 B、正确- l2 I! x! k8 ]* z% g3 B
10. 过程的一次执行所需要的信息用一块连续的存储区域来管理,这块存储区叫做符号表。( )% z8 U2 Q4 B' n, p. v
A、错误 B、正确2 b+ o, g- [# p) m' t* Y
2 `8 k* w' T" ^5 g# @3 F& J三、(15分)回答下列问题:
6 U% U3 H2 |* a- }# o: q& l(1)写出表达式 a*(b-c/d+e) 的逆波兰式:
9 b6 L' f! t7 D* q4 |2 a(2)写出条件语句 if (x>0) x=a+b/10 的四元式序列:
9 q4 m& R+ o) }7 e(3)设有算术表达式文法如下:
; H- M3 ~* g- m+ j E --> T | E + T | E – T 0 v7 _8 d9 P+ [5 Q6 G
T --> F | T * F | T / F 9 W! r$ k; q7 e
F --> i | ( E ) 其中: i : 变量或常量;2 i: a9 V x) s& N9 e# D- G
试构造四元式翻译文法并指出其中各翻译子程序的功能:, k% r- l7 E' V+ B0 H' j
( [5 v3 i O! X2 v! Y, [
, p, d( }4 q* F, u
1 h# }- ~! N: t9 ~2 u: A# ?4 y% s9 F" M* \. p* l. ^
3 L* z7 ]# Q4 O# o$ u( b5 O x9 i1 ^! |1 t( b
4 M3 j9 \3 d; @4 t8 O9 h# a
5 N: |8 Y/ k/ w m8 l, }* u$ B- K a
5 v, P) j6 p9 y2 z0 U
* L# G; z3 A% z3 {1 p" j1 @% a) Z D1 j H
5 P! C$ R! Z4 r/ _
2 T* P- U6 U" G& a/ z* [, N' A3 T
, }& d; v( ^7 G( ~; M四、(15分)试已知符号串集合为: A= { a bn c ,d │ n≥0 }
# M% r/ @; { J: J(1)构造相应的有限自动机: & g. q2 S4 L7 w) v* o7 s5 b
(2)构造相应的文法: G(S):
" h' J- C9 L( r9 J) O5 N( \9 U(3)已知有限自动机 FA (右图) :3 ~" N2 i; P% @
/ {' R3 s, j3 i FA: X- ~+ C' Q6 i% D
/ z9 ^# t6 u* c 写出 FA 所表示的符号串集合(语言):
' g3 y: g; j# v
0 \$ Z- F n1 j6 A. D* l0 U
# t( u( f3 j1 S
3 M. V; N/ E' \) ~% \- K$ Y, {+ B0 w( A7 _
5 ~6 `$ }: e* S- [+ G
9 ]3 V$ i% j5 y: `3 L1 P& P6 w2 y3 D3 {$ z8 \3 y9 R
" n) N. }$ u+ e; ~
/ c: Z4 D9 Z0 e5 C! D5 J
- R0 h4 {) O. j, ]+ b* C
" v: Y5 K6 ^9 j( S
( K2 Y& n& z/ v' @1 C
3 z, X i+ [( h/ {7 H1 w( W, [
# T! ]/ J% ?% ?9 D& X* @0 N五、(10分)设有文法 G(S):
8 a ?+ v. P2 E0 T1 J# xS -> a B d | b A B5 u4 U T* F; ]' _* u+ u
A -> a A b | b
7 }! q! _ u- w7 F+ d% P# b! J. X B -> c | B c 5 h3 A, a& b; ~2 q5 d& l
(1) 证明 baAbcc 是一个句型,画出此句型的语法树, 指出此句型的短语、简单短语和句柄; 5 s- L3 ?* z7 J# L! F/ c0 l
(2) 把文法中的左递规产生式变换成非左递规产生式。
& d, H9 E! l$ B7 X- B7 ]4 v, I/ t; B% i2 t
% {& l8 A4 }" \- f& X2 s8 i
|
|