《编译原理》模拟期末试题汇总 6套,含答案(4)

2019-03-10 14:10

下面将该DFA最小化:

(1) 首先将它的状态集分成两个子集:P1={A,D,E},P2={B,C,F}

(2) 区分P2:由于F(F,1)=F(C,1)=E,F(F,0)=F并且F(C,0)=C,所以F,C等价。由于F(B,0)=F(C,0)=C, F(B,1)=D,F(C,1)=E,而D,E不等价(见下步),从而B与C,F可以区分。有P21={C,F},P22={B}。

(3) 区分P1:由于A,E输入0到终态,而D输入0不到终态,所以D与A,E可以区分,有P11={A,E},P12={D}。

(4) 由于F(A,0)=B,F(E,0)=F,而B,F不等价,所以A,E可以区分。

(5) 综上所述,DFA可以区分为P={{A},{B},{D},{E},{C,F}}。所以最小化的DFA如下:

《编译原理》模拟试题四

一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分) 1.一个 LL(l)文法一定是无二义的。 (× )

2.正规文法产生的语言都可以用上下文无关文法来描述。 (× )

3.一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。 (√) 4.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。 (× ) 5.逆波兰法表示的表达式亦称前缀式 。 (√ )

6.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义的。 (√ ) 7.LR 法是自顶向下语法分析方法。 (× )

8.数组元素的地址计算与数组的存储方式有关。(× )

9.算符优先关系表不一定存在对应的优先函数。 (×)

10.对于数据空间的存贮分配, FORTRAN 采用动态贮存分配策略。 (×)

二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共40分)

1.词法分析器用于识别_____。 A.( ) 字符串 B.( )语句 C.( )单词 D.( )标识符

2.文法分为四种类型,即0型、1型、2型、3型。其中0型文法是_____。 A. ( ) 短语文法 B.( ) 正则文法 C.( ) 上下文有关文法 D.( ) 上下文无关文法

3.一个上下文无关文法 G 包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组 _____。

A.( ) 句子 B.( ) 句型 C.( ) 单词 D.( ) 产生式 4._____是一种典型的解释型语言。

A.( ) BASIC B.( ) C C.( ) FORTRAN D.( ) PASCAL 5.与编译系统相比,解释系统_____。

A.( ) 比较简单 , 可移植性好 , 执行速度快 B.( ) 比较复杂 , 可移植性好 , 执行速度快 C.( ) 比较简单 , 可移植性差 , 执行速度慢 D.( ) 比较简单 , 可移植性好 , 执行速度慢

6.用高级语言编写的程序经编译后产生的程序叫_____。

A.( ) 源程序 B.( ) 目标程序 C.( ) 连接程序 D.( ) 解释程序 7.词法分析器用于识别_____。

A. ( ) 字符串 B.( ) 语句 C.( ) 单词 D.( ) 标识符

8.编写一个计算机高级语言的源程序后 , 到正式上机运行之前,一般要经过_____这几步: (1) 编辑 (2) 编译 (3) 连接 (4) 运行

A. ( ) (1)(2)(3)(4) B.( ) (1)(2)(3) C.( ) (1)(3) D.( ) (1)(4)

9.把汇编语言程序翻译成机器可执行的目标程序的工作是由_____完成的。 A.( ) 编译器 B.( ) 汇编器 C.( ) 解释器 D.( ) 预处理器 10.文法 G 所描述的语言是_____的集合。

A. ( ) 文法 G 的字母表 V 中所有符号组成的符号串 B.( ) 文法 G 的字母表 V 的闭包 V* 中的所有符号串 C.( ) 由文法的开始符号推出的所有终极符串 D. ( ) 由文法的开始符号推出的所有符号串 三、填空题(每空1分,共10分)

1.语法分析是依据语言的__语法___规则进行的,中间代码产生是依据语言的__语义___规进行的。

2.语法分析器的输入是__单词符号串___,其输出是__语法单位___。 3.一个名字的属性包括__类型___和__作用域___。 4.产生式是用于定义___语法成分__的一种书写规则。

5.逆波兰式 ab+c+ d*e- 所表达的表达式为__(a+b+c)*d-e___ 。

6.语法分析最常用的两类方法是__自上而下___和__自下而上___分析法。 四、简答题(20分)

1. 写出下列表达式的三地址形式的中间表示。

(1) 5+6 *(a + b);

(2)for j:=1 to 10 do a[j + j]:=0。 答: (1)100: t1:=a+b 101: t2:=6*t1 102: t3:=5+t2 (2)100: j:=1

101: if j>10 goto NEXT 102: i:=j+j 103: a[i]:=0

2. 设基本块p由如下语句构成: T 0 : =3.14; T 1 :=2*T 0 ; T 2 :=R+r; A:=T l *T 2 ; B:=A; T 3 :=2*T 0 ; T 4 :=R+r; T 5 :=T 3 *T 4 ; T 6 :=R-r ; B:=T 5 *T 6 ;

试给出基本块p的 DAG 。

解:基本块p的DAG图:

3. 写出表达式(a+b)/(a-b-(a+b*c)的三元序列及四元序列。 解:(1)三元式: ①(+,a,b) ②(-,a,b) ③(/,①,②) ④(*,b,c) ⑤(+,a,④) ⑥(-,③,⑤) (2)四元式:

①(+,a,b,T1) ②(-,a,b,T2) ③(/,T1,T2,T3) ④(*,b,c,T4) ⑤(+,a,T4,T5) ⑥(-,T3,T5,T6)

4. 写一个文法使其语言为偶数集,且每个偶数不以0开头。 解:文法G(S): S→AB|B|A0 A→AD|C B→2|4|6|8 C→1|3|5|7|9|B D→0|C

5. 设文法 G ( S ): S→S + aF|aF| + aF


《编译原理》模拟期末试题汇总 6套,含答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:交通信息,控制技术期末作业

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: