当前位置:文档之家› 东北大学秦皇岛分校 编译原理 操作系统 试卷

东北大学秦皇岛分校 编译原理 操作系统 试卷

东北大学秦皇岛分校 编译原理 操作系统 试卷
东北大学秦皇岛分校 编译原理 操作系统 试卷

东 北 大

学 秦 皇 岛 分 校

课程名称: 操作系统 试卷: (A ) 考试形式: 闭卷

授课专业: 信息与计算科学 考试日期:2004年12月22日 试卷:共 3 页

一、选择题:(每题1分,共10分) 1、(B )的主要特点是提供即时响应和高可靠性。生产过程的控制、武器系统、

航空订票系统、银行业务就是这样的系统。

A.分时系统

B.实时系统

C.批处理系统

D.分布式系统 2、下列进程状态的转换中,哪一个是不正确的(C)。

A.就绪一运行

B.运行一就绪

C.就绪一阻塞

D.阻塞一就绪 3、利用信号量实现进程的(B ),应为临界区设置一个信号量mutex ,其初值

为1,表示该资源尚未使用,临界区应置于P (mutex )和V (mutex )原语 之间。

A.同步

B.互斥

C.竞争

D.合作 4、作业调度的关键在于(B)。

A.选择恰当的进程管理程序

B.选择恰当的作业调度算法

C.用户作业准备充分

D.有一个较好的操作环境 5、下列存储管理方案中,不采用动态重定位的是(C )。

A.页式管理

B.可变分区

C.固定分区

D.段式管理 6、关于虚拟存储器,以下说法正确的是(D )。

A.可提高计算机运算速度的设备

B.容量扩大了的主存实际空间

C.通过SPOOLING 技术实现的

D.可以容纳和超过主存容量的多个作业 同时运行的一个地址空间 7、下面几个设备中,(C )是共享设备。

A.打印机 B .磁盘 C.读卡机 D.扫描仪 8、文件系统采用多级目录结构的目的,不包括是(B ) A.缩短访问文件的寻找时间

B.节省存储空间

C.解决文件的命名冲突

D.易于实现文件共享

9、磁盘驱动调度算法中(B )算法可能会随时改变移动臂的运动方向。

A.电梯调度

B.先来先服务

C.扫描

D.循环扫描

10、正在运行的进程在信号量S 上作P 操作之后,当S<0的时候,进程进入信号量的

(A )。

A.等待队列

B.提交队列

C.后备队列

D.就绪队列

二、填空题:(每空1分,共15分)

1、不论是分时系统、实时系统还是批处理系统都具有四个基本特征 并发 、 共享 、 虚拟 、 异步 。

2、特权指令只能在__系统 _态下执行,若在 用户态下执行则被认为是非法指令。

3、__PCB______是进程存在的唯一标志。

4、设基址寄存器内容为1000,在采用动态重定位的系统中,当执行指令

“LOAD A,2000”时,操作数的实际地址是__3000_________。

5、按照调度的层次我们把调度分为 高级 、 低级 、 中级 。

6、根据文件的逻辑结构,文件可以分为 有结构文件 和__无结构文件_两类。

7、目前常用的外存分配方法有:连续分配、_链接______分配、 索引 分配。

三、名词解释(每题3分,共12分) 1、操作系统:

操作系统是一组控制和管理计算机硬件和软件资源(1分)、合理地对各类作业进行调度(1分)、以及方便用户的程序的集合(1分)。 2、临界区:

每个进程中访问临界资源的(2分)那段代码(1分)称为临界区

3、对换:所谓对换,是指把内存中暂不能运行的进程,或暂不用的程序和数据(1分),换出到外存上,以腾出足够的内存空间(1分),把已具备运行条件的进程,或进程所需的程序和数据,换入内存(1分)

4、设备独立性:

应用程序独立于具体的物理设备(3分)。

四、简单题(每题6分,共24分) 1、比较程序、进程的区别。

进程是动态的,程序是静态的,程序是有序代码的集合(1分);进程是程序的执行(1分);进程是暂时的,程序的永久的,进程是一个状态变化的过程,程序可长久保存(1分);进程与程序的组成不同,进程的组成包括程序、数据和进程控制块(即进程状态信息)(1分);通过多次执行,一个程序可对应多个进程(1分);通过调用关系,一个进程可包括多个程序(1分)。

线

装 订 线 内 不 要 答 题

学 号

姓 名

班 级

2、什么是死锁?死锁预防的措施有哪些?

所谓死琐,是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进(3分)。 死锁预防的措施有:(1)屏弃“请求和保持”条件,(2)屏弃“不剥夺”条件,(1分),(3) 摒弃“环路等待”条件(1分)。 3、简述分页与分段的主要区别

(1)页是信息的物理单位,已削减内存零头,提高内存利用率为目的,而 不是用户的需求。(1分)段是信息的逻辑单位,具有相对完整的意义,是 为了满足用户的需求。(1分) (2)页的大小固定,由系统确定。(1分)段的大小不固定,决定于用户编

写的程序。(1分)

(3)分页的作业地址是一维的。(1分)分段的作业地址是二维的。(1分) 4、什么是局部性原理?什么是抖动?你有什么办法减少系统的抖动现象?

局部性原理是指在几乎所有程序的执行过程中,在一段时间内,CPU 总是集中地访问程序中的某一个部分而不是对程序的所有部分具有平均的访问概率。(2分)

抖动是指当给进程分配的内存小于所要求的工作区时,由于内存外存之间交换频繁,访问外存的时间和输入输出处理时间大大增加,反而造成CPU 因等待数据而空转,使得整个系统性能大大下降。(2分)

在物理系统中,为了防止抖动的产生,在进行淘汰或置换时,一般总是把缺页进程锁住,不让其换出,从而防止抖动的产生。(1分) 防止抖动产生的另一个办法是设置较大的内存工作区。(1分)

五、应用与计算(共39分)

1、现有一个具有n 个缓冲区的缓冲池,Produce 进程把它生产的消息放入一个缓冲区,Consumer 进程可从一个缓冲区中取得一个消息消费。用信号量实现生产者和消费者之间的同步与互斥。请将下面的生产者和消费者算法补充完整。生产者和消费者对缓冲池互斥访问的信号量为SM ,缓冲池的初值SB=n ,缓冲池中消息个数初值为SP=0。(本题9分) 初值设置

SM= 1 ;SB=n ;sp=0

P 生产者: While(1) {...

Producer an item Wait( SB ) Wait(SM) 缓冲操作

Singal(SM Singal( SB ) … }

C 消费者: While(1) {...

Wait(SB )

Wait(SM 缓冲操作

Singal(SM Singal(SB )

Consume the item … }

2

(2)若进程P 1 提出请求 Request ( 1 , 0 , 2 ) 后,系统能否将资源分配给它?

(3分)

(1)存在如下进程序列,可使进程顺利执行完毕: 进程 可用资源数 P 3:执行完 5 ,4 ,3 P 4:执行完 5 ,4 ,5 P 1:执行完 7 ,4 ,5 P 0:执行完 7 ,5 ,5 P 2:执行完 10 ,5 ,7

当前系统是安全的,安全序列是:P 3 , P 4 , P 1 , P 0 , P 2 . (8分)

(2) 如果将资源分配给进程P 1 ,这时所有待执行的进程中就没有满足所需资源数 <=系统可提供资源数条件的,所以系统不可以将资源分配P 1(2分)

线

装 订 线 内 不 要 答 题

学 号

姓 名

班 级

3、假设一磁道有200个柱面,编号为0 — 199 ,在完成了磁道125处的请求后,当前正在磁道143处为一请求服务,若请求队列的先后顺序为86,147,91,177,94,150,102,175,130。试分别采用FCFS (先来先服务)、SSTF (最短寻道时间优先)算法完成上述请求,写出磁道移动的顺序,并计算磁头移动的总距离。(本题8分)

(1)采用FCFS 算法调度,磁头移动顺序为: 143-86-147-91-177-94-150-102-175-130 磁头移动总量为:565(柱面)。(4分)

(2)采用SSTF 算法调度,磁头移动顺序为: 143-147-150-130-102-94-91-86-175-177 磁头移动总量为:162(柱面)。(4分)

4、我们打开计算机中的某个word 文档,然后通过打印机打印文档中的内容,在这个过程中,操作系统为我们做了什么?试从操作系统功能的角度加以分析。(本题12分)

进程管理:执行时完成调度(2分)

存储管理:为调度的进程分配内存,以及从硬盘中读取文件。(2分) 文件管理:所调度文件的查询与读取(2分) 设备管理:打印机的驱动,以及打印工作的执行。(2分)

用户接口:执行程序时的界面,以及程序进程本身所含的系统调度。(2分) 整个过程是五个功能合作完成。(2分)

线

装 订 线 内 不 要 答 题

学 号

姓 名

班 级

东 北 大

学 秦 皇 岛 分 校

课程名称: 计算机操作系统 试卷: (A ) 考试形式: 闭卷

授课专业: 计算机 考试日期: 年 月 日 试卷:共 3 页

一、单项选择题:(每题2分,共30分) 1、操作体统是对( )进行管理的软件。

A. 软件

B. 硬件

C. 计算机资源

D. 应用程序 2、操作系统的基本类型主要有( )

A. 批处理系统、分时系统及多任务系统

B. 实时操作系统、分时操作系统及批处理操作系统

C. 单用户系统、多用户系统及批处理系统

D. 实时系统、分时系统和多用户系统

3、在进程管理中,当( )时,进程从阻塞状态变为就绪状态。 A. 进程被进程调度程序选中 B. 等待某一事件 C. 等待的事件发生 D. 时间片用完

4. 若P 、V 操作的信号量S 初值为2,当前值为-1,则表示有( )等待进程。 A. 0个 B. 1个 C. 2个 D. 3个 5、操作系统通过( )对进程进行管理。 A. JCB B. PCB C. DCT D. CHCT

6、多道程序环境下,操作系统分配资源以( )为基本单位。 A. 程序 B. 指令 C. 进程 D. 作业

7、发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏( )条件是不太实际的。

A. 互斥

B. 不可剥夺

C. 部分分配

D. 环路等待 8、在分时操作体统中,进程调度经常采用( )算法。 A. 先来现服务 B. 最高优先权 C. 事件片轮转 D. 随机

9、系统“抖动”现象的发生是由( )引起的。

A. 置换算法选择不当

B. 交换的信息量过大

C. 内存容量不足

D. 请求页式管理方案 10、首次适应算法的空闲区是( )

A. 按地址递增顺序连在一起

B. 始端指针表指向最大空闲区

C. 按大小递增顺序连在一起

D. 寻找从最大空间区开始 11、CPU 输出数据的速度远远高于打印机的打印速度,为了解决这一矛盾,可采用( ) A. 并行技术 B. 通道技术 C. 缓冲技术 D. 虚拟技术 12、从用户的角度看,引入文件系统的主要目的是( ) A. 实现虚拟存储 B. 保存系统文件

C. 保存用户和系统文档

D. 实现对文件的安名存取 13、在下列文件的物理结构中,( )不利于文件长度增长。 A. 顺序结构 B. 连接结构 C. 索引结构 D. Hash 结构 14、磁盘上的文件以( )单位读写。

A. 块

B. 记录

C. 柱面

D. 磁道 15、操作系统提供给程序员的接口是( )

A. 进程

B. 系统调用

C. 库函数

D. 系统调用和库函数

二、填空题:(每空1分,共15分)

1、操作系统的基本功能包括 管理、 管理、 管理、 管理。除此之外还为用户使用操作系统提供了用户接口。

2、临界资源的概念是 ,而临界区是指 。

3、作业调度又被称为 ,用于决定把外存上地哪些作业调入内存,并为它们创建 、分配必要的资源。

4、在页式存储器管理中,逻辑地址由 和 两部分组成。

5、根据文件的逻辑结构,文件可以分为_____________和____________两类。

6、目前常用的外存分配方法有:连续分配、_______分配、______分配。

7、一个进程只有在获得通道、 和所需设备三者之后,才具备进行I/O 操作的物质条件。

三、简答题(每题5分,共20分) 1、程序和进程的主要区别是什么?

线

装 订 线 内 不 要 答 题

学 号

姓 名

班 级

2、什么是虚拟存储器?虚拟存储器有哪些基本特征?

3、段式存储器管理和页式存储器管理的区别是什么?

4、二级目录和多级目录的好处是什么?

四、应用题(共35分)

1、现有一个具有n 个缓冲区的缓冲池,Produce 进程把它生产的消息放入一个缓冲区,Consumer 进程可从一个缓冲区中取得一个消息消费。用信号量实现生产者和消费者之间的同步与互斥。请将下面的生产者和消费者算法补充完整。生产者和消费者对缓冲池互斥访问的信号量为SM ,缓冲池的初值SB=n ,缓冲池中消息个数初值为SP=0。把下面的算法填写完整。(本题8分)

初值设置

SM= ;SB=n ;sp=0 P 生产者: While(1) {...

Producer an item Wait( ) 缓冲操作 Singal( ) … }

C 消费者: While(1) {...

Wait( ) 缓冲操作 Singal( ) Consume the item … }

2

(2)若进程P 1 提出请求 Request ( 1 , 2 , 2, 2 ) 后,系统能否将资源分配给

它?(2分)

线

装 订 线 内 不 要 答 题

学 号

姓 名

班 级

3、已知页面走向为1、2、1、3、1、2、

4、2、1、3、4,且开始执行时主存中没有页面。若只给作业分配2个物理块,采用FIFO 页面淘汰法时缺页率为多少?要求写(画)出页面置换过程。(本题 5分)

4、假设一磁道有200个柱面,编号为0 — 199 ,在完成了磁道125处的请求后,当前正在磁道143处为一请求服务,若请求队列的先后顺序为86,147,91,177,94,150,102,175,130。若采用SSTF (最短寻道时间优先)算法完成上述请求,写出磁道移动的顺序,并计算磁头移动的总距离。(本题5 分)

5、我们打开计算机中的某个word 文档,然后通过打印机打印文档中的内容,在这个过程中,操作系统为我们做了什么?试从操作系统五大功能的角度加以分析。(本题 10分)

线

装 订 线 内 不 要 答 题

学 号

姓 名

班 级

东 北 大 学

秦 皇 岛 分 校

课程名称: 编译原理 试卷: (B )答案 考试形式: 闭卷

授课专业: 计算机科学与技术 考试日期: 年 月 日 试卷:共 2 页

一、填空题(每空2分,共30分)

1、编译程序的整个过程可以从逻辑上划分为词法分析、 语法分析 、语义分析、中间代码生成、 代码优化 和目标代码生成等几个阶段,另外还有两个重要的工 作是 表格管理 和出错处理。

2、规范规约中的可归约串是 句柄 ,算符优先分析中的可归约串是 最左素短语 。

3、语法分析方法主要可分为 自顶向下 和 自底向上 两大类。

4、LR (0)文法的项目集中不会出现 移进-归约 冲突和 归约-归约 冲突。

5、数据空间的动态存储分配方式可分为 栈式 和 堆式 两种。

6、编译程序是指能将 源语言 程序翻译成 目标语言 程序的程序。

7、确定有穷自动机DFA 是 NFA 的一个特例。 8、表达式 (a+b)*c 的逆波兰表示为 ab+c* 。

二、选择题(每题2分,共20分)

1、LR 语法分析栈中存放的状态是识别 B 的DFA 状态。

A 、前缀

B 、可归前缀

C 、项目

D 、句柄 2、 D 不可能是目标代码。

A 、汇编指令代码

B 、可重定位指令代码

C 、绝对机器指令代码

D 、中间代码

3、一个控制流程图就是具有 C 的有向图

A 、唯一入口结点

B 、唯一出口结点

C 、唯一首结点

D 、唯一尾结点 4、设有文法G[S]:S →b|bB

B →bS ,则该文法所描述的语言是

C 。

A 、L (G )={b i

|i ≥0} B 、L (G )={b 2i

|i ≥0} C 、L (G )={b 2i+1|i ≥0} D 、L (G )={b 2i+1|i ≥1}

5、把汇编语言程序翻译成机器可执行的目标程序的工作是由 B 完成的。

A 、编译器

B 、汇编器

C 、解释器

D 、预处理器 6、在目标代码生成阶段,符号表用于 D 。

A 、目标代码生成

B 、语义检查

C 、语法检查

D 、预处理器地址分配 7、规范归约是指 B 。

A 、最左推导的逆过程

B 、最右推导的逆过程

C 、规范推导

D 、最左归约逆过程 8、使用 A 可以定义一个程序的意义。

A 、语义规则

B 、词法规则

C 、语法规则

D 、左结合规则 9、经过编译所得到的目标程序是 D 。

A 、三元式序列

B 、四元式序列

C 、间接三元式

D 、机器语言程序或汇编语言程序 10、在一个基本块内进行的代码优化是 B 。

A 、全局优化

B 、局部优化

C 、循环优化

D 、代码外提

三、简答题(3小题,共30分) 1、已知

文法G[S]

:S →Ac|aB

A →ab

B →bc

证明该文法具有二义性(本题6分)

证明:因为该文法的句型abc 存在如下两棵语法树:

所以,该文法具有二义性

线

装 订 线 内 不 要 答 题

学 号

姓 名

班 级

3、若有文法G[S]:S →bAb A →(B|a B →Aa )。构造该文法的简单优先关系矩阵。

(10分) 解:

4、构造正规表达式(a|b )* b 的DFA 并化简。(14分) 解:先构造其NFA 如下:

确定化为DFA :

将其最小化如下:

四、综合题(20分)

设有文法G[S]:S →BA

A →BS|d

B →aA|bS|c

(1) 证明文法G 是LL (1)文法。 (2) 构造LL (1)分析表。 (3) 写出句子adccd 的分析过程。 解:(1)

可见,文法G 是是LL (1)文法。 (2) (3)

线

装 订 线 内 不 要 答 题

学 号

姓 名

班 级

编译原理期末考试习题及答案

一、填空题|(每题4分,共20分) 1. 乔母斯基定义的3型文法(线性文法)产生式形式 A→Ba|a,或A→aB|a,A,B∈Vn, a,b∈Vt 。 2.语法分析程序的输入是单词符号,其输出是语法单位。 3 型为 B → .aB 的LR(0)项目被称为移进项目,型为 B → a.B 的LR(0) 项目被称为待约项目, 4.在属性文法中文法符号的两种属性分别为继承属性和综合属性。 5、运行时存贮管理方案有静态存储分配、动态存储分配和堆式存储分配和方案。 二.已知文法 G(S) (1) E → T | E+T (2) T → F | F*F (3) F →(E)| i (1)写出句型(T*F+i)的最右推到并画出语法树。(4分) (2)写出上述句型的短语,直接短语和句柄。(4分) 答:(1)最右推到(2分) E ==> T ==> F ==> (E) ==> (E+T) ==> (E+F) ==> (E+i) ==> (T+i) ==> (T*F+i) (2) 语法树(2分) (3)(4分) 短语:(T*F+i),T*F+i ,T*F , i 直接短语:T*F , i 句柄:T*F 三. 证明文法G(S) :S → SaS |ε是二义的。(6分) 答:句子aaa对应的两颗语法树为:

因此,文法是二义文法 四.给定正规文法G(S): (1) S → Sa | Ab |b (2) A → Sa 请构造与之等价的DFA。(6分) 答:对应的NFA为:(6分) 状态转换表: a b {F} Φ{S} {S} {S,A} Φ {S,A} {S,A} {S} 五. 构造识别正规语言b*a(bb*a)*b* 最小的DFA(要求写出求解过程)。(15分)答:(1)对应的NFA(5分) a b {0} {1,3} {0} {1,3} Φ{2,3} {2,3} {1,3} {2,3} (5分) 六. 已知文法G(S) : (1) S → ^ | a | (T) (2) T → T,S | S 试:(1)消除文法的左递归;(4分) (2)构造相应的first 和 follow 集合。(6分) 答:(1)消除文法的左递归后文法 G’(S)为: (1) S → ^ | a | (T)

天津理工大学编译原理期末考试试卷

天津理工大学考试试卷 ~2010学年度第二学期 《编译原理》期末考试试卷 课程代码: 0660116 试卷编号: 1-A 命题日期: 2010 年 6 月 15 日 答题时限: 120 分钟考试形式:闭卷笔试 大题号 一二三四 总分 一、单项选择题(请从4个备选答案中选择最适合的一项,每小题2分, 得 分 1 2 3 4 5 6 7 8 9 10 D C B D D B C B D C 1. 编译程序是对() A. 汇编程序的翻译 B. 高级语言程序的解释执行 C. 机器语言的执行 D. 高级语言的翻译 2. 词法分析器的输出结果是() A.单词的种别编码B.单词在符号表中的位置 C.单词的种别编码和自身值D.单词自身值 3. 在规范规约中,用()来刻画可规约串。 A.直接短语 B.句柄 C.最左素短语 D.素短语 4. 与正规式(a* | b) * (c | d)等价的正规式是() A.a* (c | d) | b(c | d) B.a* (c | d) * | b(c | d) * C.a* (c | d)| b* (c | d) D.(a | b) * c| (a | b) * d 含有Aα·,则在状态K时,仅当面临输入符号a∈FOLLOW(A)时,才采 5. 若项目集I K 取Aα·动作的一定是() A.LALR文法 B.LR(0) 文法C.LR(1)文法 D.SLR(1)文法 6. 四元式之间的联系是通过()实现的。

A. 指示器 B. 临时变量 C. 符号表 D. 程序变量 7.文法G :S x Sx | y 所识别的语言是( ) A .xyx B .(xyx) * C .x n yx n (n ≥0) D .x * yx * 8. 有一语法制导翻译如下所示: S b Ab {print “1”} A (B {print “2”} A a {print “3”} B Aa) {print “4”} 若输入序列为b(((aa)a)a)b ,且采用自下而上的分析方法,则输出序列为( ) A .32224441 B. 34242421 C .12424243 D. 34442212 9.关于必经结点的二元关系,下列叙述不正确的是( ) A .满足自反性 B .满足传递性 C .满足反对称型 D .满足对称性 10.错误的局部化是指( )。 A .把错误理解成局部的错误 B .对错误在局部范围内进行纠正 C .当发现错误时,跳过错误所在的语法单位继续分析下去 D .当发现错误时立即停止编译,待用户改正错误后再继续编译 二、判断题(每小题1分,共5分) 得 分 1. 文法G 的一个句子对应于多个推导,则G 是二义性的。(× ) 2. 动态的存储分配是指在运行阶段为源程序中的数据对象分配存储单元。(√ ) 3. 算符优先文法采用“移进-规约”技术,其规约过程是规范的。( × ) 4. 删除归纳变量是在强度削弱以后进行。( √ ) 5. 在目标代码生成阶段,符号表用于目标代码生成。( × ) 5分,共15分) 得 分 1. 构造正规式(0∣1)* 00相应的正规式并化简。(共5分) (1)根据正规式,画出相应的NFA M (2分) I I 0 I 1 {x,1,2} {1,2,3} {1,2} {1,2,3} {1,2,3,4} {1,2} {1,2} {1,2,3} {1,2 } {1,2,3, {1,2,3,4} {1,2 } X 12 3 4 01

编译原理试题B及答案

编译原理试题B 一、单项选择题(每题1分,共20分) 1、对编译系统有关概念描述正确的是( B) A.目标程序只能是机器语言 B. 编译程序处理的对象是源语言 C.解释程序属于编译程序 D. 词法分析无法自动进行 2. 设有表达式a*b-c,将其中a*b识别为表达式的编译阶段是什么 (B) A.词法分析 B. 语法分析 C.语义分析 D. 代码生成 3. 下面不能用于对文法进行描述的是(A ) A.源语言 B. EBNF C.BNF D. 语法图 4. 设有文法G[S]: S→0S|1A|0,A→1|1S|0B,B→1A|0B,下列符号串中是该文法的句子的是 ()?A.1010001001101 B.0101001110010010 C.1101010011110111 D.1010011101101010 (可画出DFA验证) 5. 文法G[S]: S→aA|bC|a A→aS|bB B→aC|bA|b C→aB|bS ,则不是L(G)句子的是( B ) A.a100b50ab100 B. a1000b500aba C.a500b60aab2a D. a100b40ab10aa (画出DFA) 6. 哪个不是DFA的构成成分(B) A.有穷字母表 B. 初始状态集合 C.终止状态集合 D. 有限状态集合 7.词法分析器的输入是( B ) A.单词符号串 B.源程序 C.语法单位 D.目标程序 8.在词法分析阶段不能识别的是(C ) A.标识符 B. 运算符 C.四元式 D. 常数 9.设有一段C语言程序 while(i&&++j)

{ c=2.19; j+=k; i++; } ,经过词法分析后可以识别的单词个数是(B ) A.19 B.20 C.21 D.23 10.自上而下语法分析的主要动作是( B ) A.移进 B. 推导 C.规约 D. 匹配 11.下面不属于LL(1)分析器的自称部分是( D ) A.LL(1)总控程序 B. LL(1)分析表 C.分析栈 D.源程序串 12.设有文法G[S]为 S→AB|bC, A→ε|b,B→ε|aD,C→AD|b,D→aS|c 则FOLLOW(A)为(A ) A.{a,c,#} B.{c,#} C.{a,#} D.{#} 13.设有文法G[S]: S→Ap|Bq,A→a|cA,B→b|dB ,则FIRST(Ap)为( C )A.{p,q} B. {b,d} C.{a,c} D. 其他 14.自下而上语法分析的主要分析动作是(D ) A.推导 B. 规约 C.匹配 D. 移进-规约 15.算法优先分析中,可规约串是( C ) A.句柄 B.活前缀 C.最左素短语 D.素短语 16. 设有文法G={{S},{a},{S→SaS|ε},S},该文法是( B ) A.LL(1)文法 B.二义性文法 C.SLR(1)文法 D.算法优先文法 17、中间代码生成时所以据的是(C ) A.语法规则 B.词法规则 C.语义规则D.等价变换规则 18、给定文法G: E→E+T|T,T→T*F|F,F→i|(E) 则L(G)中的一个句子i+i+(i*i)*i的逆波兰表示为( C ) A.iii*i++ B.ii+iii**+ C.ii+ii*i*+ D.其他

五套编译原理期末考试试卷及复习资料

得分一.填空题(每空2分,共20分) 1. 不同的编译程序关于数据空间的存储分配策略可能不同,但大部分编译中采用的方案有两 种:静态存储分配方案和动态存储分配方案,而后者又分为(1)和(2)。 2.规范规约是最(3)规约。 3.编译程序的工作过程一般划分为 5 个阶段:词法分析、(4)、语义分析与中间代码生成,代码优化及(5)。另外还有(6)和出错处理。 4.表达式 x+y*z/(a+b)的后缀式为(7)。 5.文法符号的属性有综合属性和(8)。 6.假设二位数组按行存放,而且每个元素占用一个存储单元,则数组 a[1..15,1..20]某个元素 a[i,j]的地址计算公式为(9)。 7.局部优化是局限于一个(10)范围内的一种优化。 得分二.选择题(1-6为单选题,7-8为多选题,每问2分,共20分) 1. 一个上下文无关文法 G 包括四个组成部分:一组终结符,一组非终结符,一个(),以 及一组()。 A.字符串B.产生式C.开始符号D.文法 2.程序的基本块是指()。 A.一个子程序B.一个仅有一个入口和一个出口的语句 C.一个没有嵌套的程序段D.一组顺序执行的程序段,仅有一个入口和一个出口 3. 高级语言编译程序常用的语法分析方法中,递归下降分析法属于()分析方法。 A.自左向右B.自顶向下C.自底向上D.自右向左 4.在通常的语法分析方法中,()特别适用于表达式的分析。 A.算符优先分析法B. LR 分析法 C.递归下降分析法D. LL(1)分析法 5.经过编译所得到的目标程序是()。 A.四元式序列B.间接三元式序列 C.二元式序列D.机器语言程序或汇编语言程序 6.一个文法所描述的语言是();描述一个语言的文法是()。 A.唯一的B.不唯一的C.可能唯一,也可能不唯一

四川大学编译原理期末复习总结

一、简答题 1.什么是编译程序 答:编译程序是一种将高级语言程序(源程序)翻译成低级语言(目标程序)的程序。 将高级程序设计语言程序翻译成逻辑上等价的低级语言(汇编语言,机器语言)程序的翻译程序。 2.请写出文法的形式定义 答:一个文法G抽象地表示为四元组 G=(Vn,Vt,P,S) –其中Vn表示非终结符号 –Vt表示终结符号,Vn∪Vt=V(字母表),Vn∩Vt=φ –S是开始符号, –P是产生式,形如:α→β(α∈V+且至少含有一个非终结符号,β∈V*) 3.语法分析阶段的功能是什么 答:在词法分析的基础上,根据语言的语法规则,将单词符号串分解成各类语法短语(例:程序、语句、表达式)。确定整个输入串是否构成语法上正确的程序。 4.局部优化有哪些常用的技术 答:优化技术1—删除公共子表达式 优化技术2—复写传播 优化技术3—删除无用代码 优化技术4—对程序进行代数恒等变换(降低运算强度) 优化技术5—代码外提 优化技术6—强度削弱 优化技术7—删除归纳变量 优化技术简介——对程序进行代数恒等变换(代数简化) 优化技术简介——对程序进行代数恒等变换(合并已知量) 5.编译过程分哪几个阶段 答:逻辑上分五个阶段:词法分析、语法分析、语义分析与中间代码生成、代码优化、目标代码生成。每个阶段把源程序从一种表示变换成另一种表示。 6. 什么是文法 答:文法是描述语言的语法结构的形式规则。是一种工具,它可用于严格定义句子的结构; 用有穷的规则刻划无穷的集合;文法是被用来精确而无歧义地描述语言的句子的构成方式;文法描述语言的时候不考虑语言的含义。 7. 语义分析阶段的功能是什么 答:对语法分析所识别出的各类语法范畴分析其含义,进行初步的翻译(翻译成中间代码); 并对静态语义进行审查。 8.代码优化须遵循哪些原则 答:等价原则:不改变运行结果 有效原则:优化后时间更短,占用空间更少 合算原则:应用较低的代价取得较好的优化效果 9.词法分析阶段的功能是什么 答:

编译原理试卷

课程名称:编译原理专业班级:【本科】 备注: 学生不得在试题纸上答题(含填空题、选择题等客观题) 一、单项选择题(本题共10道小题,每小题2分,共20分) 1、在产生式中,符号“→”(“::=”)表示(D )。 A. 等于 B. 恒等于 C. 取决于 D. 定义为 2、编译程序是对(D )程序进行翻译。 A. 汇编语言 B.机器语言 C.自然语言 D. 高级语言 3、合并表达式中的常量运算的目的是(C )。 A.合并常量,使表达式中的常量尽可能少 B.合并常量,使表达式尽可能简短 C.将可在编译时刻计算的运算在编译时刻计算出来,用所计算出来的值替换表达式中出现的所有这种运算,使得生成的代码指令尽可能少 D.以上都不是 4、对应Chomsky四种文法的四种语言之间的关系是(B )。 A.L0?L1?L2?L3 B.L3?L2?L1?L0 C.L3=L2?L1?L0D.L0?L1?L2=L3 5、在状态转换图中,结点代表(D ),用圆圈表示。 A.输入缓冲区B.向前搜索C.字符串D.状态 6、编译程序前三个阶段完成的工作是(C )。 A.词法分析、语法分析和代码优化 B.代码生成、代码优化和词法分析 C.词法分析、语法分析、语义分析和中间代码生成 D.词法分析、语法分析和代码生成 7、自底向上语法分析法的原理是(C )。 A. “移进——推导法” B. “最左推导法” C. “移进——归约法” D. “推导——归约法” 8、无符号常数的识别与拼数工作通常在(C )阶段完成。 A. 语法分析 B. 语义分析 C. 词法分析 D. 代码优化 9、下述方法中,(C )不是自底向上的语法分析方法。 A. 规范归约 B.算符优先分析法 C.递归下降分析法 D.LR分析法 10、算符优先分析法从左到右扫描输入串,当栈顶出现(D )时进行归约。 A. 素短语 B. 直接短语 C.句柄 D. 最左素短语 二、判断题(本题共10道小题,每小题2分,共20分)正确的画“√”,错误的画“X” 1、( 错) 对任何一个编译程序来说,产生中间代码是不可缺少的。 2、( 错) 符号表的内容在词法分析阶段填入并在以后各阶段得到使用。 3、( 错) 设有一个LR(0)项目集I={X→α.Bβ, A→α.},该项目集含有“归约-归约”冲突。 4、( 错) 对文法G中的一个句子,如果能够找到两种以上的推导,则该句子是二义性的。 5、( 对) 一个句型的句柄一定是文法某产生式的右部。 6、( 对) 设有一个LR(0)项目集Ii={X→α.,A→α.},该项目集含有“归约-归约冲

编译原理考试试卷

一、填空题(每空 2 分,共 30 分) 1、编译程序的整个过程可以从逻辑上划分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等几个阶段,另外还有两个重要的工 作是表格管理和出错处理 2、规范规约中的可归约串是句柄,算符优先分析中的可归约串是最左素短语。 3、语法分析方法主要可分为自顶向下和自底向上两大类。 4、 LR ( 0)文法的项目集中不会出现移进 -归约冲突和归约 -归约冲突。 5、数据空间的动存态储分配方式可分为栈式和堆式两种。 6、编译程序是指能将源语言程序翻译成目标语言程序的程序。 7、确定有穷自动机DFA 是NFA的一个特例。 8、表达式 (a+b)*c的逆波兰表示为ab+c*。 二、选择题(每题 2 分,共 20 分) 1、 L R 语法分析栈中存放的状态是识别B的 DFA 状态。 A 、前缀B、可归前缀C、项目 D 、句柄 2、D不可能是目标代码。 A 、汇编指令代码 B 、可重定位指令代码 C、绝对机器指令代码 D 、中间代码 3、一个控制流程图就是具有C的有向图 A 、唯一入口结点B、唯一出口结点C、唯一首结点 D 、唯一尾结点 4、设有文法G[S] : S→ b|bB B → bS ,则该文法所描述的语言是C。 A 、 L ( G)={b i|i≥ 0}B、 L (G) ={b 2i |i≥0} C、 L ( G)={b 2i+1|i≥ 0} D 、 L ( G)={b 2i+1|i ≥1} 5、把汇编语言程序翻译成机器可执行的目标程序的工作是由 B完成的。 A 、编译器 B 、汇编器C、解释器D、预处理器6、在目标代码生成阶段,符号表用于D。 A 、目标代码生成 B 、语义检查C、语法检查D、预处理器地址分配0 7、规范归约是指B。 A 、最左推导的逆过程 B 、最右推导的逆过程C、规范推导D、最左归约逆过程 8、使用A可以定义一个程序的意义。 A 、语义规则B、词法规则C、语法规则D、左结合规则 9、经过编译所得到的目标程序是D。 A 、三元式序列B、四元式序列C、间接三元式 D 、机器语言程序或汇编语言程序 10、在一个基本块内进行的代码优化是B。 A 、全局优化B、局部优化C、循环优化D、代码外提 三、简答题( 3 小题,共 30 分) 1、已知文法G[S]:S→Ac|aB A→ ab B→ bc 证明该文法具有二义性(本题 6 分) 证明:因为该文法的句型abc 存在如下两棵语法树: 所以,该文法具有二义性 一、填空题(每空 1分,共 20分) 1.编译过程一般分为、、中间代码生成、 和目标代码生成五个阶段。 2.语法分析最常用的两类方法是和分析法。 3.确定的有穷自动机是一个,通常表示为。

编译原理试题(卷)汇总-编译原理期末试题(卷)(8套含答案解析-大题集)

编译原理考试题及答案汇总 一、选择 1.将编译程序分成若干个“遍”是为了_B__。 A . 提高程序的执行效率 B.使程序的结构更加清晰 C. 利用有限的机器内存并提高机器的执行效率 D.利用有限的机器内存但降低了机器的执行效率 2.正规式 MI 和 M2 等价是指__C__。 A . MI 和 M2 的状态数相等 B.Ml 和 M2 的有向弧条数相等。 C .M1 和 M2 所识别的语言集相等 D. Ml 和 M2 状态数和有向弧条数相等 3.中间代码生成时所依据的是 _C_。 A.语法规则 B.词法规则 C.语义规则 D.等价变换规则 4.后缀式 ab+cd+/可用表达式__B_来表示。 A. a+b/c+d B.(a+b)/(c+d) C. a+b/(c+d) D. a+b+c/d 6.一个编译程序中,不仅包含词法分析,_A____,中间代码生成,代码优化,目标代码生成等五个部分。 A.( ) 语法分析 B.( )文法分析 C.( )语言分析 D.( )解释分析 7.词法分析器用于识别__C___。 A.( ) 字符串 B.( )语句 C.( )单词 D.( )标识符 8.语法分析器则可以发现源程序中的___D__。 A.( ) 语义错误 B.( ) 语法和语义错误 C.( ) 错误并校正 D.( ) 语法错误 9.下面关于解释程序的描述正确的是__B___。 (1) 解释程序的特点是处理程序时不产生目标代码 (2) 解释程序适用于 COBOL 和 FORTRAN 语言 (3) 解释程序是为打开编译程序技术的僵局而开发的 A.( ) (1)(2) B.( ) (1) C.( ) (1)(2)(3) D.( ) (2)(3) 10.解释程序处理语言时 , 大多数采用的是__B___方法。 A.( ) 源程序命令被逐个直接解释执行 B.( ) 先将源程序转化为中间代码 , 再解释执行 C.( ) 先将源程序解释转化为目标程序 , 再执行 D.( ) 以上方法都可以 11.编译过程中 , 语法分析器的任务就是__B___。 (1) 分析单词是怎样构成的 (2) 分析单词串是如何构成语句和说明的 (3) 分析语句和说明是如何构成程序的 (4) 分析程序的结构 A.( ) (2)(3) B.( ) (2)(3)(4)C.( ) (1)(2)(3) D.( ) (1)(2)(3)(4) 12.编译程序是一种___C__。 A. ( ) 汇编程序 B.( ) 翻译程序 C.( ) 解释程序 D.( ) 目标程序 13.文法 G 所描述的语言是_C____的集合。 A. ( ) 文法 G 的字母表 V 中所有符号组成的符号串 B.( ) 文法 G 的字母表 V 的闭包 V* 中的所有符号串 C.( ) 由文法的开始符号推出的所有终极符串 D. ( ) 由文法的开始符号推出的所有符号串 14.文法分为四种类型,即 0 型、1 型、2 型、3 型。其中 3 型文法是___B__。 A. ( ) 短语文法 B.( ) 正则文法 C.( ) 上下文有关文法 D.( ) 上下文无关文法15.一个上下文无关文法 G 包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组 __D___。 A.( ) 句子 B.( ) 句型 C.( ) 单词 D.( ) 产生式 16.通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括_C____。

河南科技大学期末考试编译原理试卷及答案

河南科技大学电信科卷A 一. 填空题(每空2分,共20分) 1. 不同的编译程序关于数据空间的存储分配策略可能不同,但大部分编译中采用的方案有两种:静态存储分配方案和动态存储分配方案,而后者又分为(1) 和 (2) 。 2. 规范规约是最(3)规约。 3. 编译程序的工作过程一般划分为5个阶段:词法分析、(4) 、语义分析与中间代码生成,代码优化及(5) 。另外还有(6)和出错处理。 4.表达式x+y*z/(a+b)的后缀式为 (7) 。 5.文法符号的属性有综合属性和 (8)。 6.假设二位数组按行存放,而且每个元素占用一个存储单元,则数组a[1..15,1..20]某个元素a[i ,j]的地址计算公式为(9)。 7.局部优化是局限于一个(10)范围内的一种优化。 二. 选择题(1-6为单选题,7-8为多选题,每问2分,共20分) 1. 一个上下文无关文法G 包括四个组成部分:一组终结符,一组非终结符,一个( ),以及一组 ( )。 A . 字符串 B . 产生式 C . 开始符号 D . 文法 2.程序的基本块是指( )。 A . 一个子程序 B . 一个仅有一个入口和一个出口的语句 C . 一个没有嵌套的程序段 D . 一组顺序执行的程序段,仅有一个入口和一个出口 3. 高级语言编译程序常用的语法分析方法中,递归下降分析法属于( )分析方法。 A . 自左向右 B . 自顶向下 C . 自底向上 D . 自右向左 4.在通常的语法分析方法中,( )特别适用于表达式的分析。 A . 算符优先分析法 B . LR 分析法 C . 递归下降分析法 D . LL (1)分析法 5.经过编译所得到的目标程序是( )。 A . 四元式序列 B . 间接三元式序列 C . 二元式序列 D . 机器语言程序或汇编语言程序 6. 一个文法所描述的语言是( );描述一个语言的文法是( )。

编译原理期末考试试卷A卷

试卷 答题时限: 分钟 考试形式:闭卷笔试 得分统计表: 一、单项选择题(请从 个备选答案中选择最适合的一项,每小题 分,共 分) 编译程序是对( ) 汇编程序的翻译 高级语言程序的解释执行 机器语言的执行 高级语言的翻译 词法分析器的输出结果是( ) .单词的种别编码 .单词在符号表中的位置 .单词的种别编码和自身值 .单词自身值 在规范规约中,用( )来刻画可规约串。 .直接短语 .句柄 .最左素短语 .素短语 与正规式 等价的正规式是( ) .

. . . 若项目集 含有 α·,则在状态 时,仅当面临输入符号 ∈ 时,才采取 α·动作的一定是( ) . 文法 . 文法 . 文法 . 文法 四元式之间的联系是通过( )实现的。 指示器 临时变量 符号表 程序变量 .文法 : 所识别的语言是( ) . . . ≥ . 有一语法制导翻译如下所示: 若输入序列为 ,且采用自下而上的分析方法,则输出序列为( ) . . .关于必经结点的二元关系,下列叙述不正确的是( ) .满足自反性 .满足传递性 .满足反对称型 .满足对称性 .错误的局部化是指( )。 .把错误理解成局部的错误 .对错误在局部范围内进行纠正 .当发现错误时,跳过错误所在的语法单位继续分析下去 .当发现错误时立即停止编译,待用户改正错误后再继续编译

二、判断题(每小题 分,共 分) 文法 的一个句子对应于多个推导,则 是二义性的。(× ) 动态的存储分配是指在运行阶段为源程序中的数据对象分配存储单元。(√ ) 算符优先文法采用“移进-规约”技术,其规约过程是规范的。( × ) 删除归纳变量是在强度削弱以后进行。( √ ) 在目标代码生成阶段,符号表用于目标代码生成。( × ) 三、简答题(每小题 分,共 分) 构造正规式 相应的正规式并化简。(共 分) ( )根据正规式,画出相应的 ( 分) ( ( )化简,并画出 ( 分) 划分为状态: 将这三个状态命名为 , , 三个状态

最新编译原理期末考试试卷及答案

编译原理期末考试试卷及答案 1. 不同的编译程序关于数据空间的存储分配策略可能不同,但大部分编译中采用的方案有两种: 静态存储分配方案和动态存储分配方案,而后者又分为(1) 和 (2) . 2. 规范规约是最(3)规约. 3. 编译程序的工作过程一般划分为5个阶段:词法分析、(4) 、语义分析与中间代码生成,代码优化及(5) .另外还有(6)和出错处理. 4.表达式x+y*z/(a+b)的后缀式为 (7) . 5.文法符号的属性有综合属性和 (8). 6.假设二位数组按行存放,而且每个元素占用一个存储单元,则数组a[1..15,1..20]某个元素a[i ,j]的地 址计算公式为(9). 7.局部优化是局限于一个(10)范围内的一种优化. 二. 选择题(1-6为单选题,7-8为多选题,每问2分,共20分) 1. 一个上下文无关文法G 包括四个组成部分:一组终结符,一组非终结符,一个( ),以及 一组( ). A . 字符串 B . 产生式 C . 开始符号 D . 文法 2.程序的基本块是指( ). A . 一个子程序 B . 一个仅有一个入口和一个出口的语句 C . 一个没有嵌套的程序段 D . 一组顺序执行的程序段,仅有一个入口和一个出口 3. 高级语言编译程序常用的语法分析方法中,递归下降分析法属于( )分析方法. A . 自左向右 B . 自顶向下 C . 自底向上 D . 自右向左 4.在通常的语法分析方法中,( )特别适用于表达式的分析. A . 算符优先分析法 B . LR 分析法 C . 递归下降分析法 D . LL (1)分析法 5.经过编译所得到的目标程序是( ). A . 四元式序列 B . 间接三元式序列 C . 二元式序列 D . 机器语言程序或汇编语言程序 6. 一个文法所描述的语言是( );描述一个语言的文法是( ). A . 唯一的 B . 不唯一的 C . 可能唯一,也可能不唯一 7. 如果在文法G 中存在一个句子,当其满足下列条件( )之一时,则称该文法是二义文法. A . 其最左推导和最右推导相同 B . 该句子有两个不同的最左推导 C . 该句子有两个不同的最右推导 D . 该句子有两棵不同的语法树 E . 该句子对应的语法树唯一 8. 下面( )语法制导翻译中,采用拉链—回填技术. A. 赋值语句 B. 布尔表达式的计算 C. 条件语句 D. 循环语句

(精选)编译原理期末考试题目及答案

一、填空题(每空2分,共20分) 1.编译程序首先要识别出源程序中每个单词,然后再分析每个句子并翻译其意义。 2.编译器常用的语法分析方法有自底向上和自顶向下两种。 3.通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的分析,中间代码生成、代码优化与目标代码的生成则是对源程序的综合。 4.程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即静态存储分配方案和动态存储分配方案。 5.对编译程序而言,输入数据是源程序,输出结果是目标程序。 1.计算机执行用高级语言编写的程序主要有两种途径:解释和编译。 2.扫描器是词法分析器,它接受输入的源程序,对源程序进行词法分析并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。 3.自下而上分析法采用移进、归约、错误处理、接受等四种操作。 4.一个LL(1)分析程序需要用到一张分析表和符号栈。 5.后缀式abc-/所代表的表达式是a/(b-c)。 二、单项选择题(每小题2分,共20分) 1.词法分析器的输出结果是__C。 A.单词的种别编码B.单词在符号表中的位置 C.单词的种别编码和自身值D.单词自身值 2.正规式 M 1 和 M 2 等价是指__C_。 A. M1和M2的状态数相等B. M1和M2的有向边条数相等 C. M1和M2所识别的语言集相等 D. M1和M2状态数和有向边条数相等 3.文法G:S→xSx|y所识别的语言是_C____。 A. xyx B. (xyx)* C.xnyxn(n≥0) D. x*yx* 4.如果文法G是无二义的,则它的任何句子α_A____。 A.最左推导和最右推导对应的语法树必定相同B.最左推导和最右推导对应的语法树可能不同 C.最左推导和最右推导必定相同D.可能存在两个不同的最左推导,但它们对应的语法树相同5.构造编译程序应掌握____D__。 A.源程序B.目标语言 C.编译方法 D.以上三项都是 6.四元式之间的联系是通过__B___实现的。 A.指示器B.临时变量C.符号表 D.程序变量 7.表达式(┐A∨B)∧(C∨D)的逆波兰表示为__B___。 A.┐AB∨∧CD∨B.A┐B∨CD∨∧C. AB∨┐CD∨∧ D.A┐B∨∧CD∨8. 优化可生成__D___的目标代码。 A.运行时间较短B.占用存储空间较小 C.运行时间短但占用内存空间大 D.运行时间短且占用存储空间小 9.下列___C___优化方法不是针对循环优化进行的。 A. 强度削弱 B.删除归纳变量C.删除多余运算 D.代码外提 10.编译程序使用_B_区别标识符的作用域。 A. 说明标识符的过程或函数名B.说明标识符的过程或函数的静态层次 C.说明标识符的过程或函数的动态层次 D. 标识符的行号 三、判断题(对的打√,错的打×,每小题1分,共10分) 2.一个有限状态自动机中,有且仅有一个唯一的终态。x

编译原理试题及答案3

编译原理复习题 一、填空题: 1、编译方式与解释方式的根本区别在于(是否生成目标代码)。 2、对编译程序而言,输入数据是(源程序),输出结果是(目标程序)。 3、如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为两大阶段:(编译阶段)和(运行阶段)。 4、如果编译程序生成的目标程序是汇编语言程序,则源程序的执行分成三个阶段:(编译阶段)、(汇编阶段)和(运行阶段)。 5、自顶向下语法分析方法会遇到的主要问题有(回溯)和((左递归带来的)无限循环)。 6、LL(k)分析法中,第一个L的含义是(从左到右进行分析),第二个L的含义是(每次进行最左推导),“k”的含义是(向输入串中查看K个输入符号)。 7、LL(1)分析法中,第一个L的含义是(从左到右进行分析),第二个L的含义是(每次进行最左推导),“1”的含义是(向输入串中查看1个输入符号)。 8、自顶向下语法分析方法的基本思想是:从(识别符号)出发,不断建立(直接推导),试图构造一个推导序列,最终由它推导出与输入符号相同的(符号串)。 9、自底向上语法分析方法的基本思想是:从待输入的符号串开始,利用文法的规则步步向上进行(直接归约),试图(归约)到文法的(识别符号|开始符号)。 10、LR(0)分析法的名字中,“L”的含义是(从左到右进行分析),“R”的含义是(采用最右推导的逆过程---最左归约),“0”的含义是(向貌似句柄的符号串后查看0个输入符号)。 11、LR(1)分析法的名字中,“L”的含义是(从左到右进行分析),“R”的含义是(采用最右推导的逆过程---最左归约),“1”的含义是(向貌似句柄的符号串后查看1个输入符号)。 12、SLR(1)分析法的名字中,“S”的含义是(简单的),“L”的含义是(从左到右进行分析),“R”的含义是(采用最右推导的逆过程---最左归约),“1”的含义是(向貌似句柄的符号串后查看1个输入符号)。 13、在编译过程中,常见的中间语言形式有(逆波兰表示)、(三元式)、(四元式)和(树形表示)。 14、在编译程序中安排中间代码生成的目的是(便于代码优化)和(便于目标程序的移植)。 15、表达式-a+b*(-c+d)的逆波兰表示为(a-bc-d+*+ )。 16、表达式a+b*(c+d/e)的逆波兰表示为(abcde/+*+ )。 17、表达式a:=a+b*c↑(d/e)/f的逆波兰表示为(aabcde/↑*f/+:= )。 18、文法符号的属性有(继承属性)和(综合属性)两种。 19、一个文法符号的继承属性是通过语法树中它的(兄弟结点与父)结点的相应文法符号的属性来计算的。 20、一个文法符号的综合属性是通过语法树中它的(子)结点的属性来计算的。

编译原理试题

1997年编译原理试题 1.(10分)某操作系统下合法的文件名为 device:name.extension 其中第一部分(device:)和第三部分(.extension)可缺省,若device, name和extension都是字母串,长度不限,但至少为1,画出识别这种文件名的确定有限自动机。 2.(20分) a. 下面的二义文法描述命题演算公式,为它写一个等价的非二义文法。 S—> S and S | S or S | not S | p | q | (S) b. 下面文法是否为LL(1)文法?说明理由。 S—> A B | P Q x A—> x y B—> b c P—> d P | εQ—> a Q | ε 3.(10分)某些语言允许给出名字表的一个属性表,也允许声明嵌在另一个声明里面,下面文法抽象这个问题。 D —> attrlist namelist | attrlist (D) namelist —> id, namelist | id attrlist —> A attrlist | A A —> decimal | fixed | float | real D —> attrlist namelist的含义是:在namelist中的任何名字有attrlist 中给出的所有属性。D—> attrlist (D) 的含义是:在括号中的声明提到的所有名字有attrlist 中给出的所有属性,而不管声明嵌套多少层。写一个翻译方案,它将每个名字的属性个数填入符号表。为简单起见,若属性重复出现,则重复计数。4.(10分)把表达式 -(a+b)*(c+d)+(a+b+c) 翻译成四元式。 5.(10分)由于文法二义引起的LR(1)分析动作冲突,可以依据消除二义的规则而得到LR(1)分析表,根据此表可以正确识别输入串是否为相应语言的句子。对于非二义非LR(1)文法引起的LR(1)分析动作的冲突,是否也可以依据什么规则来消除LR(1)分析动作的冲突而得到LR(1)分析表,并且根据此表识别相应语言的句子?若可以,你是否可以给出这样的规则? 6.(5分)UNIX 下的C编译命令cc的选择项g和O的解释如下,其中dbx 的解释是“dbx is an utility for source-level debugging and execution of programs written in C”。试说明为什么用了选择项g后,选择项O便被忽略。 -g Produce additional symbol table information for dbx(1) and dbxtool(1) and pass -lg option to ld(1) (so as to include the g library, that is:

期末考试编译原理试卷及答案

一. 填空题(每空2分,共20分) 1. 不同的编译程序关于数据空间的存储分配策略可能不同,但大部分编译中采用的方案有两种:静 态存储分配方案和动态存储分配方案,而后者又分为(1) 和 (2) 。 2. 规范规约是最(3)规约。 3. 编译程序的工作过程一般划分为5个阶段:词法分析、(4) 、语义分析与中间代码生成,代码优化及(5) 。另外还有(6)和出错处理。 4.表达式x+y*z/(a+b)的后缀式为 (7) 。 5.文法符号的属性有综合属性和 (8)。 6.假设二位数组按行存放,而且每个元素占用一个存储单元,则数组a[1..15,1..20]某个元素a[i ,j]的地址 计算公式为(9)。 7.局部优化是局限于一个(10)范围内的一种优化。 二. 选择题(1-6为单选题,7-8为多选题,每问2分,共20分) 1. 一个上下文无关文法G 包括四个组成部分:一组终结符,一组非终结符,一个( ),以及一组 ( )。 A . 字符串 B . 产生式 C . 开始符号 D . 文法 2.程序的基本块是指( )。 A . 一个子程序 B . 一个仅有一个入口和一个出口的语句 C . 一个没有嵌套的程序段 D . 一组顺序执行的程序段,仅有一个入口和一个出口 3. 高级语言编译程序常用的语法分析方法中,递归下降分析法属于( )分析方法。 A . 自左向右 B . 自顶向下 C . 自底向上 D . 自右向左 4.在通常的语法分析方法中,( )特别适用于表达式的分析。 A . 算符优先分析法 B . LR 分析法 C . 递归下降分析法 D . LL (1)分析法 5.经过编译所得到的目标程序是( )。 A . 四元式序列 B . 间接三元式序列 C . 二元式序列 D . 机器语言程序或汇编语言程序 6. 一个文法所描述的语言是( );描述一个语言的文法是( )。 A . 唯一的 B . 不唯一的 C . 可能唯一,也可能不唯一 7. 如果在文法G 中存在一个句子,当其满足下列条件( )之一时,则称该文法是二义文法。 A . 其最左推导和最右推导相同 B . 该句子有两个不同的最左推导 C . 该句子有两个不同的最右推导 D . 该句子有两棵不同的语法树

编译原理试卷

一、填空题(每题3分,共15分) 1.编译原理是一种翻译程序,它将高级语言编写的源程序翻译成等价的机器语言或汇编 语言的目标程序 2.整个编译过程可以分为五个阶段,分别是:词法分析、语法分析、语义分析及中 间代码生成、代码优化和目标代码的生成。 3.设X是符号串,符号串的幂运算X0= ε 4.乔姆斯基把文法分为四种类型,即0型、1型、2型、3型文法。2型文法也称为 上下文无关文法 5.采用递归下降分析法进行语法分析,要求文法是文法。 二、选择题(每题3分,共15分) 1.若文法G定义的语言是无限集,则文法必然是(D)。 A.上下文无关文法 B.正规文法 C.二义性文法 D.递归文法 2.文法G产生的()的集合是该文法的描述语言。 A.句型 B.终结符集 C.非终结符集 D.句子 3.通常程序设计语言的词法规则可用正规式描述,词法分析器可用(B)来实现。 A.语法树 B.有穷自动机 C.栈 D.数组 4.设有文法G[S]:S→Bb│b,B→bS,该文法所描述的语言是(C) A. b n,n≥0 B.b2n,n≥0 C.b2n+1,n≥0 D.b2n+1,n≥1 5.用1代表字母,d代表数字,则定义标识符单词的正规式是(C) A.1d* B.11* C.1(1│d)* D.11*│d* 三、判断题(每小题2分,共10分) ()给定一个文法,就能从结构上唯一地确定其语言,给定一种语言,就能唯一地确定其文法。 ()用二义性文法定义的语言也是二义性的。 ()正规式、正规文法、有穷自动机都是描述正规集的工具,它们的描述能力是等价的,它们之间是可以相互转换的。 ()采用自下而上分析法进行语法分析需要消除文法的递归性。 ()算符优先文法中,任何两个终结符对(a,b)在·>,<·和=·这三种关系中只有一种关系成立。

编译原理期末考试试卷及答案

期末考试试卷(A)卷 一、填空题(每小题2分,共20分) 1、字母表∑,用∑*表示∑上所有有穷长的串集合,∑*称为∑的①。 2、设z=abc,则z的固有头是①。 3、如何由语言基本符号组成程序中各个语法成分(包括程序)的一组规则叫 ①。 4、设∑={a,b},∑上的正规式(a|b)(a|b) 相应的正规集为① 5、NFA的映象f是从"状态×字"映射到"状态子集",f为①值函数。 6、LR分析是按规范句型的①为可归约串。 7、结点的①属性值由该结点的兄弟结点和父结点的属性值计算。 8、如果分析树中一结点的属性b依赖于属性c,那么这个结点的属性b的语义规 则的计算必须在定义属性c的语义规则的计算①。 9、对于栈式符号表,引入一个显示嵌套层次关系表- ①表,该表总是 指向当前正在处理的最内层的过程的子符号表在栈符号表中的起始位置。 10、任一有向边序列n1 → n2,n2 → n3,…,nk-1 → nk为从结点n1到结点nk 的一条通路。如果n1=nk,则称该通路为①。 二、单项选择(每小题2分,共14分) 1、乔姆斯基把文法分成4种类型,即0型、1型、2型和3型。其中3型文法也称 为()。 A.上下无关文法 B.正规文法 C.上下文有关文法 D.无限制文法 2、生成非0开头的正偶数集的文法是()。 A. Z::=ABC B. Z::=ABC C::=0|2|4|6|8 C::=0|2|4|6|8 B::=BA|B0|ε B::=BA|B0|0 A::=1|2|3|…|9 A::=1|2|3|…|9 C. Z::=ABC|2|4|6|8 D. Z::=ABC|2|4|6|8 C::=0|2|4|6|8 C::=0|2|4|6|8 B::=BA|B0|0 B::=BA|B0|ε A::=1|2|3|…|9 A::=1|2|3|…|9 3、简单优先分析法从左到右扫描输入串,当栈顶出现()时进归约。

大学编译原理课程复习试题及答案

编译原理复习材料 选择题 1. 文法S→0S | S1 | 0的语言是( )。 A. { 0 m1m| m >=0 } B. { 0 m1m| m >=1 } C. { 0 m1n | m>=1,n>=0 } D. { 0 m1n | m>=0,n>=1 } 2. 描述程序语言所采用的Ⅲ型文法是( )。 A. 短语文法 B.正规文法 C.上下文无关文法 D.上下文有关文法 3. 状态转换图实现的简单方法是使每个状态结对应( )。 A.一个终结符 B.一个非终结符 C.一段小程序 D.一个函数 4. 规范归约的关键问题是寻找( )。 A. 最左素短语 B.句柄 C.直接短语 D.短语 5. 一个算符文法的任何产生式的右部都不含有两个相继的( )。 A.终结符 B.非终结符 C.终结符和非终结符 D.空字 6. 算符优先分析法的关键在于规定( )。 A.算符优先顺序和结合性质 B.算符优先顺序 C.结合性质 D.终结符和非终结符之间关系 7. 优先函数的优点是( )。 A.形象直观 B.便于进行比较运算 C.语法分析速度快 D.语法分析方法简单 8. 文法符号的属性通常分为( )两类。 A. 共用属性和私有属性 B.固有属性和可变属性 C.语法属性和语义属性 D.综合属性和继承属性 9. 在程序流图中,组成循环的结点序列应满足( ) A. 它们是强连通的 B.它们中间有唯一的入口结点 C.它们中间有一条回边 D.它们是强连通的且有唯一的入 口结点 10. 在利用寄存器R生成T1:=C/B的目标代码同时,还应记录信息( )。 A. C/B在T1中 B. T1在C/B中 C. R含有T1, T1在R中 D. R含有C/B, C/B在R中 1.D 2.B 3.C 4.B 5.B 6.A 7.B 8.D 9.D 10.C

相关主题
文本预览
相关文档 最新文档