|
东 北 大 学 继 续 教 育 学 院
, }, |; ]. z8 C/ j4 m' c$ f 编 译 方 法 试 卷(作业考核 线上2) A 卷(共 5 页) - T! d: ~- j0 l8 b4 b
总分 题号 一 二 三 四 五 六 七 八 九 十
" T2 I' {3 H- H2 v3 d 得分 $ ?) a, {3 Y' d/ h2 h5 P
一、更多资料下载:谋学网(www.mouxue.com)(在备选资料中选出一个正确资料,每题3分,共30分)
& o' I! I: u% {3 X9 ^7 |# |; M7 @ J0 ^01. 程序设计语言一般分为( )和( )两大类, 其中低级语言通常又称为( )
5 U; M1 H1 T |( P; I5 B6 [A. 高级语言,低级语言,通用程序语言0 Q) y. ?+ `+ l5 `" S5 }% p
B. 专用程序语言,高级语言,低级语言% A. c, x' D1 s, ]1 V1 R
C. 专用程序语言,低级语言,面向机器的语言" n! {, q5 x x$ {( @% D8 q
D. 高级语言,低级语言,面向机器的语言
" @7 K) B! h; ~02. 如果编译程序生成的目标是机器代码程序, 则源程序的执行分成两大阶段:( )和( )& ?8 {! s; O" F9 y( o( p
A. 编辑阶段, 运行阶段
9 v* i, Z7 I+ m* d5 v0 X" J O" Z* aB. 编译阶段, 连接阶段
' r2 J% Z+ E9 L5 MC. 编译阶段, 运行阶段& H; ~/ C" Z: g# Q
D. 编辑阶段, 连接阶段+ v( }) e& h" E8 k2 D; X2 x
03.已知文法G(E) : * _8 Q: b- H7 c0 g) u" y2 n
E -> T|E+T|E-T
1 _' b/ D/ F6 s5 W T -> F|T*F|T/F' ?3 f3 s/ [) n2 l& b" T: q/ f" T& ~
F -> i|(E)
6 }) Q* g# Z- P9 d该文法的开始符号是: ( ), 终结符集合VT是( ),非终结符集合VN是( ),句型T+T*F+i的短语有( )& t/ R& k# ~9 c. F
A. E; {+,-,*,/,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i4 n( b! |% ^# g
B. T; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i
5 ], o* x5 c: K" xC. E; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i/ ]9 @, F: v7 E$ B
D. T; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F U* G. r$ U& |0 a$ c r
04. 文法G所描述的语言是( )的集合
0 G% {4 Q& z$ z0 G$ zA. 文法G的字符表∑中所有符号组成的符号串6 x% c! ~2 }% L2 r( ?
B. 文法G的字符表∑的闭包∑*中的所有符号串1 J4 K; D9 e+ B
C. 由文法的开始符号推出的所有符号串
# {6 R8 |( R# n/ s& ^4 C% V7 ND. 由文法的开始符号推出的所有终结符号串
5 I% s9 z2 P2 q6 @& ^05. 有限状态自动机可定义如下五元组:FA=(Q ,∑,Q0 , F ,δ),其中:( )
9 O- O% K: d9 b) l! L6 sA. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态集合,δ -状态变换函数 ;* y3 V+ J# A/ b1 E
B. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态集合 ,δ - 产生式 ;
8 ?2 T4 ~- K. C" H- hC. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态 ,δ -状态变换函数 ;
3 p% W' g9 C) V* G06. 词法分析的单词识别中,区分关键字和标识符的方法,通常是把拼得的字符串首先查( ) , 若( )则视为( ) , 否则为( )7 c. Q) K- P9 A6 V9 R9 }8 @* ]! i
A. 关键字表, 查到, 关键字, 标识符% v6 m- C* z1 T. o) Z: M
B. 关键字表, 查不到, 关键字, 标识符
% R7 K& a3 p6 W# o0 n: jC. 标识符表, 查到, 关键字, 标识符/ j+ E h( A% }) B0 s) ~
D. 关键字表, 查到, 标识符, 关键字, ]8 ~' w3 \2 r6 X$ i5 j- a! m
07. 程序设计语言单词通常可分如下四类( )
& G' l3 n7 z" t( r3 ]A. 关键字, 标识符, 常数, 界符
: c% o ?$ Z4 K( T0 O; tB. 关键字, 变量, 常数, 界符1 h$ M/ A* ]3 B, N! p
C. 整型 , 字符型, 俘点型, 布尔型- c/ m j6 q3 f1 @; _% v
08. 编译过程中, 语法分析器的任务是( )6 h0 ~, }( r& z1 B- |1 P- c9 p# K
(1)分析单词是怎样构成的8 e# T2 n, g ~: S* Z* H
(2)分析单词串是如何构成语句和说明的
7 l3 X- k: I. F! z(3)分析语句和说明是如何构成程序的( d0 h) u6 d2 K: @5 `2 t
(4)分析程序的结构
9 M4 r6 T; F2 n# `* a! IA. (2)和(3)
5 l0 U9 v( K l7 m" e9 [6 pB. (4)
T. [: H3 T+ t0 `C. (2),(3),(4)
* J2 c7 n0 s( T2 F$ dD. (1),(2),(3),(4)
% R4 {; Z1 M3 h. O' V. K0 o09. 设有文法 G(S): ' S: r% n2 o, m/ `; T! [
S --> a A c | a A S | b
. z2 m5 s1 }9 {/ W5 NA --> d S A | c& l! r* c/ ~5 z# t& W0 M4 r4 x! L
指出下述符号串中,哪些是该文法的句子?$ `- c0 O4 l$ S, x: v/ c
abcdb, acc, acabc, adbcb, acbac;- U) g' T* q) T
A. abcdb
! c j; |7 g2 J" u6 E5 p* zB. acabc, adbcb
6 H6 F0 o% Y& i W0 C8 \' aC. acc, acabc, acbac
# Z9 \5 @! N/ f$ b. V! Q' _( AD. acc, adbcb # K# T. T9 n8 G* l
10. 编译程序在其工作过程中使用最多的数据结构是( ), 它记录着源程序中的各种信息. 在这些表中, 尤其以( )最为重要, 它的生存期最长, 使用也最频繁。, q1 Q- s! E! f9 M+ q9 W
A. 线性表 , 符号表 B. 表 , 链表 - ^9 N; G; ?: p0 I$ n! Y* z1 j
C. 线性表 , 链表 D. 表 , 符号表/ Q& ^7 d: B; ~4 ]3 z
$ |9 t; d! w. [" T4 R- o* y" K
二、资料来源:谋学网(www.mouxue.com)(每题3分,10道题,30分)
" H7 n& c4 V; ]+ ~4 k. r+ U01. “用高级语言书写的源程序都必须通过编译, 产生目标代码程序后才能投入运行.”这种说法( ) 6 Y) @& u" d* I% R) Z4 }
A、错误 B、正确4 u b3 J0 K, z
02. 编译程序生成的目标程序一定是机器语言的程序。( )5 S; ]9 Z1 i e R3 Y
A、错误 B、正确
5 C" t( B; Z8 u; \& C1 x03. 文法的两种运算系指: 推导和连接。( ) 6 m. j: V; k; @0 N
A、错误 B、正确# C4 x7 R: ]! {- }; X0 A5 Z
04. 文法是用于定义语言的,它可用如下四元组描述:0 j! p6 `1 |* V$ [: d/ U8 g# l
G(Z)=( VN , VT , Z , p ),其中:Z称为文法的结束符号。( ) 2 N1 @& p- { c9 A8 i' D
A、错误 B、正确
- b, t% |0 r1 s05. 有限自动机可用来描述上下文无关语言语言。( )
( L& G E; z2 A: u+ r( @) z' ?A、错误 B、正确# u# f v: K {! Z
06. 正规文法是特指文法产生式仅具有如下形式:⑴ A -> aB ⑵ A -> a ⑶ A -> e。( )
9 B: X$ Q6 ^ }( Y3 x8 U2 KA、错误 B、正确
' }. A x6 _8 R9 `$ Z" a07. TOKEN 是词法分析中单词的一种机内数据结构表示,其结构是{类,值}。( )
5 n0 g5 _7 O& s1 w+ iA、错误 B、正确: _, D! {- {( {/ G M
08. 语法分析的任务,是对给定的符号串,判定其是否是某文法的句子。( )
4 d3 ^" V' t& S( ^7 CA、错误 B、正确) z! k. c5 v j
09.语法分析方法分两类: (1) 自顶向下分析; (2) 自底向上分析。( )+ e: P& J, P( F6 n( I+ C" N
A、错误 B、正确* v, G& s. v# }) J: A
10. 过程的一次执行所需要的信息用一块连续的存储区域来管理,这块存储区叫做符号表。( )5 B0 H9 v: C1 c: f) j) \) g
A、错误 B、正确
2 ~7 G) H/ h4 P% I1 M" {+ Q
: D8 d, t! \$ p' h三、(15分)回答下列问题:
1 \* ^/ d2 h* `% C/ E* a(1)写出表达式 a*(b-c/d+e) 的逆波兰式:) K7 |( X1 T" u3 q' X* C
(2)写出条件语句 if (x>0) x=a+b/10 的四元式序列:+ Q( ?' Y( q; X6 \
(3)设有算术表达式文法如下:
3 I& b: o, a1 d) m0 x% i% X E --> T | E + T | E – T $ h4 Q2 ]! o4 q+ Y
T --> F | T * F | T / F M, G* X, C$ [2 m4 V
F --> i | ( E ) 其中: i : 变量或常量;3 H5 H8 x8 i. |. l2 |' }
试构造四元式翻译文法并指出其中各翻译子程序的功能:% S% Y0 V2 q, X7 N2 G
6 q; U9 ^) u! ?8 H" h. F! U. a
* q; Y7 ] B( Y8 p0 _
; t( U: l% j2 M# i$ R1 y/ ]6 Y; V) p+ v5 T. x+ r
9 Y/ `/ d3 V+ ~+ @- k- ?
; f3 x! `$ T h \+ E; ?& D: M1 l: O: Y4 j, f
2 U. M; r! v0 b0 ?* X! c! q4 K4 p# k: m. j! n
: E! _ q6 z# H- J `
7 c5 D4 C0 u t6 s4 y9 l
4 ^# h( y6 o& R5 L/ M/ W5 G5 o
9 I& N- e1 R4 _6 X9 z. B# c4 u
* k2 M' O( |- W$ n四、(15分)试已知符号串集合为: A= { a bn c ,d │ n≥0 } - ]* R) \* K4 h& j6 ^
(1)构造相应的有限自动机: 0 M6 q$ b# K& v- U; }5 e8 k" Y
(2)构造相应的文法: G(S): & r4 o; Y* l- a5 s
(3)已知有限自动机 FA (右图) :
: D- p2 t1 j r0 c* G- D; q8 K" c7 r, t- T
FA:
# }( V2 o7 l# {1 X+ _* u0 [% W
+ `! Z: q/ _8 a1 L 写出 FA 所表示的符号串集合(语言): ) f* [% N% m3 w2 K& d
1 Z2 m' k5 K8 B' D' Q) Q6 Y
5 [$ @' `% u, }1 G
& U/ }2 z' G U$ X+ g3 y
2 X8 x0 }0 s" |! O$ ]. j2 r. @% t( r6 T1 j" t7 D/ U; C+ x# @9 v
+ Z1 P( I9 c" u5 y
% x J6 n: o4 H9 S1 U
' {* h |+ |9 c9 S6 z5 _
# b* R3 Q. h- m. l& b) ?7 K2 k/ ~8 u: e7 d" }0 h9 F4 ]$ p/ G
% S' b- I6 V: ?2 _; G9 Y: o U, `+ _3 T3 ?9 S( _1 U) t
7 y$ X4 a+ ~" }/ K- y. x% @
2 T1 f, p+ F# m* ]
五、(10分)设有文法 G(S):; ~: j2 U) {1 _4 {6 d5 M" l
S -> a B d | b A B, ~! [6 k: w+ ^5 r8 k
A -> a A b | b
6 Z' P0 ?- ~/ O) z4 y B -> c | B c
# t- L: X. o. O/ ^; N& v(1) 证明 baAbcc 是一个句型,画出此句型的语法树, 指出此句型的短语、简单短语和句柄;
% D! C1 ]% Y' t6 B7 `(2) 把文法中的左递规产生式变换成非左递规产生式。5 Q/ q5 g: B6 ~7 ~3 J; b6 N: K
/ ^( z: ~% b6 S. J# ]
! Y& \- D- R" Z8 ^- @ |
|