|
东 北 大 学 继 续 教 育 学 院
0 N2 I6 S( `4 _# K! f' c 编 译 方 法 试 卷(作业考核 线上2) A 卷(共 5 页)
; ?$ ~) F8 Q; m+ o& M# T8 f, k总分 题号 一 二 三 四 五 六 七 八 九 十
% d* r5 v; K/ v Z$ `* K. F 得分
5 L4 E6 d' e& H& {7 p一、更多资料下载:谋学网(www.mouxue.com)(在备选资料中选出一个正确资料,每题3分,共30分), D# G b! ^% K5 B G) V& l
01. 程序设计语言一般分为( )和( )两大类, 其中低级语言通常又称为( )( a# [+ N# F' f t7 U
A. 高级语言,低级语言,通用程序语言
$ N9 y% Y" N7 d9 ]B. 专用程序语言,高级语言,低级语言! O+ u: _ |) H
C. 专用程序语言,低级语言,面向机器的语言# n5 b' Q- ~! e4 v" ]; X) s
D. 高级语言,低级语言,面向机器的语言" ^2 D Y8 @0 |' B& h' h/ j# _- p
02. 如果编译程序生成的目标是机器代码程序, 则源程序的执行分成两大阶段:( )和( )% K* B% {9 a O+ ]. G r7 K
A. 编辑阶段, 运行阶段' k' v$ r1 r; ^( `, c8 q
B. 编译阶段, 连接阶段+ g/ }: `6 F8 @- ]
C. 编译阶段, 运行阶段+ B1 z1 O) D8 `: \
D. 编辑阶段, 连接阶段* Q* q% z1 o, \( w! A" }
03.已知文法G(E) : 8 w9 f( m7 ?' ~1 \; H" I% H
E -> T|E+T|E-T, h3 f- V9 s* \1 W: J- S
T -> F|T*F|T/F$ S7 e7 q2 p/ k% e: S
F -> i|(E)
. Z: k" a/ E# O% K0 {该文法的开始符号是: ( ), 终结符集合VT是( ),非终结符集合VN是( ),句型T+T*F+i的短语有( )* R7 W. k7 l$ ]6 P. u
A. E; {+,-,*,/,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i
$ R) J5 k1 s r, F6 `/ {# eB. T; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i
& d- Q: h s6 w, Y) F2 {0 YC. E; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F,i! T% |# S$ ?. P
D. T; {+,-,*,/,i,(,)}; {E,T,F}; T+T*F+i, T+T*F, T,T*F
: H8 m8 z4 V9 Q5 K6 `& y04. 文法G所描述的语言是( )的集合 $ e2 e1 K$ `2 |. s& W
A. 文法G的字符表∑中所有符号组成的符号串6 h }# V% T$ Z3 j) c/ \: F
B. 文法G的字符表∑的闭包∑*中的所有符号串
2 S% {' t, `2 q4 |# |2 oC. 由文法的开始符号推出的所有符号串
- D. c/ p! r, ~1 ~8 U8 U$ _8 ], ?D. 由文法的开始符号推出的所有终结符号串0 h& Q5 ^! _* @) T- @% L) Y
05. 有限状态自动机可定义如下五元组:FA=(Q ,∑,Q0 , F ,δ),其中:( )
4 j+ ?* r% J5 ^6 G7 p: U7 rA. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态集合,δ -状态变换函数 ;
, N; w! u+ o# P3 K8 @9 i4 oB. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态集合 ,δ - 产生式 ;
" {/ @+ M+ a% R+ z0 G CC. Q - 状态集合 ,∑ - 字母表,Q0 - 开始状态集合 ,F - 结束状态 ,δ -状态变换函数 ;
; b# _+ U; W3 H; M# ]06. 词法分析的单词识别中,区分关键字和标识符的方法,通常是把拼得的字符串首先查( ) , 若( )则视为( ) , 否则为( )- Y7 c+ | Y8 e7 R+ F
A. 关键字表, 查到, 关键字, 标识符
# _# W3 N! R _( sB. 关键字表, 查不到, 关键字, 标识符) D) y, A z3 C& M( F/ M
C. 标识符表, 查到, 关键字, 标识符# W& D8 z3 O$ V) ?5 |% L
D. 关键字表, 查到, 标识符, 关键字
8 f3 b* D7 y5 l07. 程序设计语言单词通常可分如下四类( )6 ]. U3 s6 X. D0 V; D0 K7 b( D) f
A. 关键字, 标识符, 常数, 界符
/ n0 d8 c" {7 h, ^0 P& {* T& gB. 关键字, 变量, 常数, 界符+ c1 {( b& Y5 D! m
C. 整型 , 字符型, 俘点型, 布尔型1 N* R7 z9 v6 ]" g2 i
08. 编译过程中, 语法分析器的任务是( )
$ r" @ R: y: i: h( x$ v. C0 C(1)分析单词是怎样构成的/ N; u4 [$ s7 ^7 B5 ~- B
(2)分析单词串是如何构成语句和说明的( h! \! [+ P& T$ D
(3)分析语句和说明是如何构成程序的
, s; a1 p- q1 }3 ]- v, B9 i2 B" F" w(4)分析程序的结构: E; h% W8 x( l0 i, Q9 F
A. (2)和(3)
8 A7 a' \( l# ?* F( B$ qB. (4) : q2 Y) v" O5 Y) ^, t% S' P
C. (2),(3),(4)
* c* J, }6 C7 O' f9 D7 r( L( y$ PD. (1),(2),(3),(4)
1 [) u& V3 g& P09. 设有文法 G(S):
8 Z# J5 v, H7 _; o- I2 bS --> a A c | a A S | b" k- V! {6 _* k V
A --> d S A | c( g) h' ^6 z( t, v! Z
指出下述符号串中,哪些是该文法的句子?2 U$ {" |$ T7 ]8 C
abcdb, acc, acabc, adbcb, acbac;" B: E& e, B; N- i
A. abcdb
( N' T5 j3 _- s2 _: k/ E6 a! KB. acabc, adbcb
, i) ~! V; _4 O- F _; X% tC. acc, acabc, acbac
: u/ t& }+ V% z( N4 `D. acc, adbcb
" Q- K7 C; U2 l; m) _5 r10. 编译程序在其工作过程中使用最多的数据结构是( ), 它记录着源程序中的各种信息. 在这些表中, 尤其以( )最为重要, 它的生存期最长, 使用也最频繁。2 q' l- P) y, @+ y- m
A. 线性表 , 符号表 B. 表 , 链表 8 j: E9 `7 b* P3 H- _5 @4 X
C. 线性表 , 链表 D. 表 , 符号表! |6 E8 _6 y L$ y% \0 ]$ _: ?
( G9 X- f3 E3 ~. p8 P0 i二、资料来源:谋学网(www.mouxue.com)(每题3分,10道题,30分)
, P# Y5 f# P1 a7 ?5 r01. “用高级语言书写的源程序都必须通过编译, 产生目标代码程序后才能投入运行.”这种说法( ) - z: W0 W3 o- }7 O
A、错误 B、正确- X6 ]/ _. L2 `0 K9 m0 _- c
02. 编译程序生成的目标程序一定是机器语言的程序。( )5 K7 F4 t. O. c% l# p4 T
A、错误 B、正确
4 G" ?$ ?+ n, w, o) ^- d% j0 n! F5 H03. 文法的两种运算系指: 推导和连接。( ) 3 q, t W5 b' P s
A、错误 B、正确
. t' |7 L* Z1 ~& B8 b04. 文法是用于定义语言的,它可用如下四元组描述:! m0 [& w3 Y9 q( I; Z& ~
G(Z)=( VN , VT , Z , p ),其中:Z称为文法的结束符号。( )
$ f5 j& I6 A: C8 F) S$ i# v% CA、错误 B、正确
* O" y- ^+ ]9 f6 W% G05. 有限自动机可用来描述上下文无关语言语言。( )
f- Y, f! W, J" k- Z9 w/ DA、错误 B、正确
6 S6 t* p& y! S9 \9 H6 d# _. a06. 正规文法是特指文法产生式仅具有如下形式:⑴ A -> aB ⑵ A -> a ⑶ A -> e。( )/ k4 ?7 D% L, `- z+ M' R! c
A、错误 B、正确
. M& F' t, ~9 i9 s) g9 H3 F07. TOKEN 是词法分析中单词的一种机内数据结构表示,其结构是{类,值}。( )
+ R* y* U# c: E7 jA、错误 B、正确- E9 ^6 A; v, S. }" p7 g2 \
08. 语法分析的任务,是对给定的符号串,判定其是否是某文法的句子。( )3 V) A; L7 o& f! a/ k
A、错误 B、正确
l6 v* H- z- T* a3 Y09.语法分析方法分两类: (1) 自顶向下分析; (2) 自底向上分析。( )" J: i5 j1 b8 C e0 {0 _
A、错误 B、正确; Z' h* b& i7 [8 K4 d' c$ z) A& L! U
10. 过程的一次执行所需要的信息用一块连续的存储区域来管理,这块存储区叫做符号表。( )5 d! L. Y: M" q3 ^' m6 d- f
A、错误 B、正确
& p* c$ |1 Y/ ?9 h) P& Z& l
0 T! K3 ]! G j5 g) n9 A7 P三、(15分)回答下列问题: 7 d3 Z& h& |* Z) K
(1)写出表达式 a*(b-c/d+e) 的逆波兰式:
7 ^# r/ ]* x" h0 t- \3 W& t(2)写出条件语句 if (x>0) x=a+b/10 的四元式序列:
$ O6 P F0 V7 O0 w(3)设有算术表达式文法如下:5 v3 Q, n, c. h! `7 q' v/ {
E --> T | E + T | E – T . ^$ C" x: w% ^( L9 x
T --> F | T * F | T / F 6 P5 a( [* S$ x; ~
F --> i | ( E ) 其中: i : 变量或常量;) d9 w/ V6 d$ N
试构造四元式翻译文法并指出其中各翻译子程序的功能:0 d9 a; c+ K4 a, E, W: D
) L# m6 _: \8 Y$ Z+ V
- A6 u+ m) ], X* R- ]- X. j
- u( X& E6 f! ? x
3 S7 A {7 ]2 p- L" g# r
_- ^ G! Z& w1 G% _9 @ w
: [) u4 L, f* w! J v1 {3 F: g o1 x) J: V* C( |6 J8 H* _
( ^0 m% G4 n. ~! Z
W& J1 k+ y& h' T) F
# y% X" g* W3 U8 r# B* q( a& ^% I
5 S9 S. h7 G y6 t5 D v+ e; x8 R4 {1 v0 n S
6 Z' m0 U+ z8 w/ O
! L' S! u2 B) S8 s7 V7 v4 {- k) I2 p
: }7 v0 \/ h0 ]/ |+ {四、(15分)试已知符号串集合为: A= { a bn c ,d │ n≥0 } , Y: K/ f6 ]0 n" [
(1)构造相应的有限自动机: / m& ^4 x2 T. {) D- x! D
(2)构造相应的文法: G(S): ! n3 N. H/ G7 ~& T+ W
(3)已知有限自动机 FA (右图) :
" E6 L8 p1 `: _8 ?0 g
) v, \# k! E3 E# ?6 g2 ? FA:
Q0 j' e; x8 G, u4 U$ r% \: f2 z" J R& s1 ?) R+ E( @
写出 FA 所表示的符号串集合(语言):
8 A& x/ E, W! M- S+ D
" {8 D1 b+ l+ z% U! A( n4 `. ?, E7 R9 U! M4 r
% u) r! O1 r; |7 a/ l& v& u
8 W$ P6 i0 _$ W
- G4 X2 u% r, J0 ]3 Q% v! i
( R* }1 a9 C# w0 D K, t: ^ k3 A% Z- D5 n; G$ t2 P
* v; A# l. H X" b- y9 T
5 @2 g$ E. ]4 r
# l4 z) X) P! X$ b+ }0 o) r
* S; U) z7 m% P' c3 L0 e
% H0 o' n& k. | q) C0 T X" z" F! X5 H4 T- s; I
! Q1 U6 c3 s7 f2 L, ?; Y五、(10分)设有文法 G(S):
0 ?0 Z6 f% _( K+ K2 [! U) HS -> a B d | b A B
2 J; v% C9 i- k, ~. c/ I. }) { A -> a A b | b4 }0 b5 |5 o: _/ i; [+ n
B -> c | B c , H$ [4 F$ a7 V; M
(1) 证明 baAbcc 是一个句型,画出此句型的语法树, 指出此句型的短语、简单短语和句柄;
$ V, Y$ T/ T' i. j(2) 把文法中的左递规产生式变换成非左递规产生式。; @/ y! a5 |0 o' G
+ s+ h; ]; Z% Z" @' b: P
4 n& X( ?4 D9 N' Y2 t |
|