|
东 北 大 学 继 续 教 育 学 院
1 ]$ ?; P2 w6 U$ p5 G3 l 编 译 方 法X 试 卷(作业考核 线上2) A 卷(共 5 页)
. i8 A4 Q$ C. f: r1 q3 K总分 题号 一 二 三 四 五 六 七 八 九 十
$ S0 S* F) n+ `8 j& Z 得分 7 d4 W5 ]+ O0 m0 v
一、更多资料下载:谋学网(www.mouxue.com)(在备选资料中选出一个正确资料,每题3分,共30分), E- h' F9 T# u4 t- b) y
01. 程序设计语言一般分为( )和( )两大类, 其中低级语言通常又称为( )
) s7 I+ }# c4 H) V. V& c& ]# M; Z( D0 ZA. 高级语言,低级语言,通用程序语言
& s7 U2 ~ y- |% c! ^. OB. 专用程序语言,高级语言,低级语言1 a( Y, `+ z, ~3 T
C. 专用程序语言,低级语言,面向机器的语言6 N6 h, n) G/ n* y- D
D. 高级语言,低级语言,面向机器的语言9 z5 ?/ V; c# w7 e
02. 如果编译程序生成的目标是机器代码程序, 则源程序的执行分成两大阶段:( )和( )" W# X/ g$ A7 m- b& e- V; {8 ?
A. 编辑阶段, 运行阶段, y2 | z: _$ S; O& @) B8 _
B. 编译阶段, 连接阶段
1 G8 _7 m# e6 I' JC. 编译阶段, 运行阶段" w, C6 g. s9 s# E3 e3 x7 ]2 n2 f n
D. 编辑阶段, 连接阶段
* z& ~. E3 F3 ]03.已知文法G(E) :
. s; Y) ~1 D5 F/ R! e# n8 ~+ g E -> T|E+T|E-T; `% F6 S. J/ E8 H) ~
T -> F|T*F|T/F
, q# S3 Z3 }- A4 a F -> i|(E)
2 k9 p. Q4 b [6 S6 A, [- W) H该文法的开始符号是: ( ), 终结符集合VT是( ),非终结符集合VN是( ),句型T+T*F+i的短语有( )0 F4 Q% I% O) ~( ]
A. E; {+,-,*,/,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i
2 t0 T, |6 b* t5 ]* TB. T; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i
) v1 t& a) q/ Y# v' p3 jC. E; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i$ Q8 F- d& n5 D7 _1 ~( Y4 o
D. T; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F$ h: y8 C2 Q! ^. c- t5 v0 v" v& R
04. 文法G所描述的语言是( )的集合 1 t' g+ u- p! \* b% R* \8 F! T* v
A. 文法G的字符表∑中所有符号组成的符号串% C m. U- k+ X2 p8 O& U6 r- K
B. 文法G的字符表∑的闭包∑*中的所有符号串
# g z6 m3 b! D/ @7 \C. 由文法的开始符号推出的所有符号串" S8 F% N4 w! u; J% _9 ^7 Z
D. 由文法的开始符号推出的所有终结符号串8 i4 j3 x8 K9 f# y' S6 {. D- C% V
05. 有限状态自动机可定义如下五元组:FA=(Q ,∑,Q0 , F ,δ),其中:( )
. u/ n7 u/ A" Y$ `) P6 X* H) p3 QA. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态集合,δ -状态变换函数 ;
$ i0 S' D+ o- j! t: a/ |! BB. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态集合 ,δ - 产生式 ;
/ @. ?$ }; [1 S% f* q0 _C. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态 ,δ -状态变换函数 ;
' l$ m6 p( [/ n/ H3 w Z06. 词法分析的单词识别中,区分关键字和标识符的方法,通常是把拼得的字符串首先查( ) , 若( )则视为( ) , 否则为( ) i' r* p9 m' K% t# d9 V3 ]$ R: K
A. 关键字表, 查到, 关键字, 标识符
8 [' t) K. N& [7 w6 M `B. 关键字表, 查不到, 关键字, 标识符. G5 x) T6 f- q
C. 标识符表, 查到, 关键字, 标识符' N3 T! D" q [
D. 关键字表, 查到, 标识符, 关键字
3 r0 ^, ^+ f6 T6 B: i) q9 w/ s07. 程序设计语言单词通常可分如下四类( )
# C4 R* Z5 r' q6 v. m8 NA. 关键字, 标识符, 常数, 界符& T" K1 \" y; i; j& `
B. 关键字, 变量, 常数, 界符
1 i8 g6 E) R4 R4 |C. 整型 , 字符型, 俘点型, 布尔型
8 t* }( T* ^& }. H0 g08. 编译过程中, 语法分析器的任务是( )
2 u/ ?( W# O' P: I(1)分析单词是怎样构成的. h u8 Y% ?0 y+ f% x9 y
(2)分析单词串是如何构成语句和说明的
8 V$ _8 A1 c/ Z3 j(3)分析语句和说明是如何构成程序的) [# @9 }- }/ J# c& f
(4)分析程序的结构
" I- h; g% G2 U8 dA. (2)和(3)
4 D2 [5 z/ _* z; A3 N" i- oB. (4) ! m5 }' C" \( s2 r% U: A
C. (2),(3),(4)
, e; Y1 L( G3 o* l* HD. (1),(2),(3),(4)$ ~/ i3 T$ i/ k5 d2 A6 L4 t
09. 设有文法 G(S):
/ m; ^) n% I1 `6 G. l! `8 H; `S --> a A c | a A S | b4 r/ K! c0 f: m E% L* I6 M
A --> d S A | c4 @; i3 h, b) k3 k7 [: n$ ~' X& M
指出下述符号串中,哪些是该文法的句子?
4 v! E" I2 v. F, u" {4 Zabcdb, acc, acabc, adbcb, acbac;+ \5 ?8 }/ f' `) d: F! w2 e. y
A. abcdb + y/ `$ N' j. z8 R+ N
B. acabc, adbcb : M% G( `1 p& P5 e( b: E% i1 J
C. acc, acabc, acbac ; i* D: z, A: o) } |) e
D. acc, adbcb
, p- h- Z: T2 b: G5 B" t10. 编译程序在其工作过程中使用最多的数据结构是( ), 它记录着源程序中的各种信息. 在这些表中, 尤其以( )最为重要, 它的生存期最长, 使用也最频繁。
) d- q+ C* o1 \, ]A. 线性表 , 符号表 B. 表 , 链表
- A. G J1 U: X$ ~C. 线性表 , 链表 D. 表 , 符号表
" B1 x. W8 n7 z' k; W& P; p, T5 _' ?- n0 X! n4 y
二、资料来源:谋学网(www.mouxue.com)(每题3分,10道题,30分)
3 U: X9 x' k" `2 y, s; M# A1 d$ l8 ^01. “用高级语言书写的源程序都必须通过编译, 产生目标代码程序后才能投入运行.”这种说法( ) - m6 a8 q: J! J% Z3 D% `
A、错误 B、正确
9 f4 ~: l' \9 w$ g- Z02. 编译程序生成的目标程序一定是机器语言的程序。( )% }; ^7 c* `1 z4 Y0 w1 q: K5 Y2 g, A
A、错误 B、正确
) W0 p0 B8 z* N: n$ Z2 t$ Q03. 文法的两种运算系指: 推导和连接。( ) 8 W' `% p9 y! D! [+ Z4 g
A、错误 B、正确0 u( w2 ]2 w- c' T9 K
04. 文法是用于定义语言的,它可用如下四元组描述:& u# O/ D+ ~7 j$ t- |, g
G(Z)=( VN , VT , Z , p ),其中:Z称为文法的结束符号。( ) 7 y2 t7 v( J# d. x& X
A、错误 B、正确! r' H8 m( K- A8 O! S# m- Q
05. 有限自动机可用来描述上下文无关语言语言。( )7 A1 [6 N: q% d/ t
A、错误 B、正确
0 Y, m/ {. j, V% R8 Z/ _" G# V06. 正规文法是特指文法产生式仅具有如下形式:⑴ A -> aB ⑵ A -> a ⑶ A -> e。( )
. U+ e# i9 N2 N6 E5 |. OA、错误 B、正确
% R3 X4 S7 j0 l& o& m& }+ I: A* ?1 L07. TOKEN 是词法分析中单词的一种机内数据结构表示,其结构是{类,值}。( )+ b, C2 H. c0 n D
A、错误 B、正确
; y7 l2 p* h! u! z: g08. 语法分析的任务,是对给定的符号串,判定其是否是某文法的句子。( )
; ]- i: ^- Z+ e; E* _1 |! q0 VA、错误 B、正确/ {2 u/ @! o. f8 q* ^* K
09.语法分析方法分两类: (1) 自顶向下分析; (2) 自底向上分析。( )
& S' V: k8 i6 f4 O# w3 ]A、错误 B、正确& Q" [" x$ G, J* l$ X! A
10. 过程的一次执行所需要的信息用一块连续的存储区域来管理,这块存储区叫做符号表。( )5 ?1 E; O7 f! o
A、错误 B、正确
9 }! m$ l) ^: W# E9 h* ^* C/ i/ F+ H' V( X
三、(15分)回答下列问题: $ D% X6 k7 k( ~4 P) W9 b8 ]0 T: A! `
(1)写出表达式 a*(b-c/d+e) 的逆波兰式:
4 C/ U& u) y2 R) X& X(2)写出条件语句 if (x>0) x=a+b/10 的四元式序列: o! B* p* g; B/ C
(3)设有算术表达式文法如下:5 q4 m! H. y) I2 m
E --> T | E + T | E – T
7 k9 f: a: U& l T --> F | T * F | T / F " K8 t' Z) Z6 P/ q3 ~8 v8 e
F --> i | ( E ) 其中: i : 变量或常量;
$ q6 }& E) U5 H" F- Y' i5 t试构造四元式翻译文法并指出其中各翻译子程序的功能:
) P7 X9 A7 U9 Y2 ^ Y# o
' t- ~0 w2 ]* T; m5 z, C/ ?9 S; u/ X' }
7 K! I9 _( ^+ \: m0 ?: y: I
8 J* O3 m! ]! Y1 A, B
( a0 L; w9 p: @5 d) T. z. W
; A+ z! v! b" u0 C5 ]" z7 V; x
0 D V" M- H9 W' j! o
2 n7 K4 B1 s: C5 ^9 \! Y+ G$ _$ D& V
/ ^7 j) ^7 V! n/ o
/ ~8 d0 T; t2 g% `8 i9 C* ?3 n& |( t' L) ]0 N
7 [4 T d$ S. j: W: P" S
* T7 R# y* J8 N Y/ b& j- d1 l
+ L6 M0 h1 `9 _) E! o F2 Z( W- a% b/ _2 |* \, c$ }6 ~) a
四、(15分)试已知符号串集合为: A= { a bn c ,d │ n≥0 }
( t* T8 i, L1 r(1)构造相应的有限自动机:
8 }4 z" P. R; U5 A2 X4 T1 e0 E(2)构造相应的文法: G(S):
0 G& Z% ]/ s! E7 h" W j(3)已知有限自动机 FA (右图) :7 r2 X5 R! z# S% Z* }9 z
& T/ y, |: }- N( A, n( H
FA: 7 [0 i5 H) t2 E, m, |1 Y
) w# G. X- q: q4 n. U- @) \ 写出 FA 所表示的符号串集合(语言):
+ l$ f: Z l+ `& f+ _) \+ c, E- O7 q& a X- G! t
. t \% A( o4 z
& c4 @4 R! |/ U! [
) h: K3 p( z) `$ _% ]% `1 j. I+ [' ?
' g/ v0 y" R5 L" x/ k9 ~$ w6 _' L, d* {4 p( s6 \& ^/ C2 V+ A
; J# `" T% ]( f# y; T+ E7 e/ A, L5 {. ]: Z9 D* @% ^
3 M& t% r+ W) b* p. j* V+ v v* F0 h; Z# S- C
2 k; L: `4 z$ I' M3 Z8 C/ X! L! L7 S- {" w" ?
" O$ V0 ?- w) }- B3 s- ?( j五、(10分)设有文法 G(S):
* x8 O$ |" ]* {7 ZS -> a B d | b A B
- `' p3 [9 x8 k' V A -> a A b | b0 l+ F% q0 X' |% f0 e4 p0 _
B -> c | B c 1 B6 c8 H% p3 |
(1) 证明 baAbcc 是一个句型,画出此句型的语法树, 指出此句型的短语、简单短语和句柄; 1 K0 V) `* `2 |+ Q6 L ~
(2) 把文法中的左递规产生式变换成非左递规产生式。6 o% G6 k3 K% |/ Q
5 z2 U; q2 b) |& m0 d7 s6 _
; [# b& h( [# i9 S3 X; Q |
|