编译原理期中测试题

合集下载

《编译原理》考试试题及答案(汇总)

《编译原理》考试试题及答案(汇总)

《编译原理》考试试题及答案(汇总)一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分)1.编译程序是对高级语言程序的解释执行。

(× )2.一个有限状态自动机中,有且仅有一个唯一的终态。

(×)3.一个算符优先文法可能不存在算符优先函数与之对应。

(√ )4.语法分析时必须先消除文法中的左递归。

(×)5.分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。

(√)6.逆波兰表示法表示表达式时无须使用括号。

(√ )7.静态数组的存储空间可以在编译时确定。

(×)8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。

(×)9.两个正规集相等的必要条件是他们对应的正规式等价。

(× )10.一个语义子程序描述了一个文法所对应的翻译工作。

(×)二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共40分)1.词法分析器的输出结果是。

A.( ) 单词的种别编码B.( ) 单词在符号表中的位置C.( ) 单词的种别编码和自身值D.( ) 单词自身值2.正规式 M 1 和 M 2 等价是指。

A.( ) M1和M2的状态数相等 B.( ) M1和M2的有向边条数相等C.( ) M1和M2所识别的语言集相等D.( ) M1和M2状态数和有向边条数相等3.文法G:S→所识别的语言是。

A.( ) B.( ) ()* C.( ) (n≥0) D.( ) x**4.如果文法G是无二义的,则它的任何句子α。

A.( )最左推导和最右推导对应的语法树必定相同B.( ) 最左推导和最右推导对应的语法树可能不同C.( ) 最左推导和最右推导必定相同D.( )可能存在两个不同的最左推导,但它们对应的语法树相同5.构造编译程序应掌握。

A.( )源程序B.( ) 目标语言C.( ) 编译方法 D.( ) 以上三项都是6.四元式之间的联系是通过实现的。

编译原理期中练习及答案

编译原理期中练习及答案
a
b
e
i
t
$
S─>a
S─>iCtSS'
S'
12
13
14
15
C─>b
《12》《13》《14》《15》A)空白
B)S'─>εC)S'─>eSD)S─>iCtSS'
七.对于下图所示的NFA,16是与它等价的一个DFA。
《16》A)
B)
C)
D)
八.对于文法G[S]
S─>a│^│(T)
T─>T,S│S
《17》《18》《19》《20》
《7》A)* B)L C)*L= D)*L=i
《8》A)S B)L C)= D)i
《9》A)* B)*L C)*L=i D)L
《10》《11》A)*L B)*பைடு நூலகம்C)L D)i
六.对于文法G[S]
S─>iCtSS'│a
S'─>eS│ε
C─>b
在坚持把e和最近的t相结合的原则指导下,将这个二义文法的LL(1)分析表计算如下(空白表示出错):
《3》《4》A)输入带中已由读写头读入的字符串与下推栈中的字符串B)输入带中尚未由读写头读入的字符串与下推栈中的字符串C)下推栈中的字符串与输入带中已由读写头读入的字符串D)下推栈中的字符串与输入带中尚未由读写头读入的字符串
三.词法分析器引入双缓冲的目的是5。
《5》A)加快读单词符号速度B)保证长单词也能装入缓冲C)减少缓冲空间D)保证所读单词符号一定在缓冲中
四.在构造LR(1)文法的NFA时,若有产生式
B─>γ,则从项目[A─>α.Bβ,a]出发,画一条读入ξ的弧到项目[B─>.γ,b],其中b =6。

《编译原理》考试试题及答案

《编译原理》考试试题及答案

《编译原理》考试试题及答案(附录)一、判断题:1.一个上下文无关文法的开始符,可以是终结符或非终结符。

( X )2.一个句型的直接短语是唯一的。

( X )3.已经证明文法的二义性是可判定的。

( X )4.每个基本块可用一个DAG表示。

(√)5.每个过程的活动记录的体积在编译时可静态确定。

(√)6.2型文法一定是3型文法。

( x )7.一个句型一定句子。

( X )8.算符优先分析法每次都是对句柄进行归约。

(应是最左素短语) ( X )9.采用三元式实现三地址代码时,不利于对中间代码进行优化。

(√)10.编译过程中,语法分析器的任务是分析单词是怎样构成的。

( x )11.一个优先表一定存在相应的优先函数。

( x )12.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。

( )13.递归下降分析法是一种自下而上分析法。

( )14.并不是每个文法都能改写成LL(1)文法。

( )15.每个基本块只有一个入口和一个出口。

( )16.一个LL(1)文法一定是无二义的。

( )17.逆波兰法表示的表达试亦称前缀式。

( )18.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。

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

( )20.一个优先表一定存在相应的优先函数。

( )21.3型文法一定是2型文法。

( )22.如果一个文法存在某个句子对应两棵不同的语法树,则文法是二义性的。

( )二、填空题:1.( 最右推导 )称为规范推导。

2.编译过程可分为(词法分析),(语法分析),(语义分析和中间代码生成),(代码优化)和(目标代码生成)五个阶段。

3.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是()。

4.从功能上说,程序语言的语句大体可分为()语句和()语句两大类。

5.语法分析器的输入是(),其输出是()。

6.扫描器的任务是从()中识别出一个个()。

编译原理考试试卷

编译原理考试试卷

编译原理考试试卷一、选择题(每题2分,共20分)1. 编译器的主要功能是将源代码转换成目标代码,以下哪个不是编译器的基本组成部分?A. 词法分析器B. 语法分析器C. 代码优化器D. 运行时环境2. 词法分析器通常不负责以下哪项任务?A. 识别关键字B. 识别标识符C. 进行语义分析D. 去除空白字符3. 语法分析中,递归下降分析是一种:A. 确定性分析方法B. 非确定性分析方法C. 基于语法制导的分析方法D. 基于语法树的分析方法4. LR分析器是用于处理: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. 以下哪个是编译原理中常用的数据结构?A. 栈B. 队列C. 链表D. 所有选项都是二、简答题(每题10分,共30分)1. 简述编译原理中词法分析器的作用及其实现方式。

2. 描述语法分析中自顶向下分析和自底向上分析的区别。

3. 解释编译优化的重要性,并给出一个优化的例子。

三、计算题(每题25分,共50分)1. 给定一个简单的算术表达式 "3 + 4 * 2 - 1",请说明如何使用递归下降分析器来解析这个表达式,并给出相应的语法树。

2. 假设你有一个简单的编译器后端,需要将四元式 "(a, b, +, c)" 转换成目标代码。

编译原理期中考试

编译原理期中考试

C -> C ; D | D D -> L : T L -> L , id | id T -> int | real (1) 改写 改写G[C],使之适合自上而下分析. ,使之适合自上而下分析. (2) 为改写后的文法构造一个 (1)预测分析表. 为改写后的文法构造一个LL( )预测分析表. (3) 给出串: id : int ; id , id : real 的分析过程. 给出串: 的分析过程. 注意: 作为一个符号处理. 注意:int ,id ,real 作为一个符号处理. :(3) 答:( ) C DC' C' ;DC'| D -> L : T L idL' L' ,idL'| T int|real 过程:压入1个 输入为: 过程:压入 个C, 输入为:id:int; id,id:real 产生式 1. 展开 C 展开: C DC' 展开 DC' id:int;id,id:real D L:T 展开 L:TC' id:int;id,id:real L idL' 展开 idL':TC' id:int;id,id:real 匹配 L':TC' :int;id,id:real L' 查表(select(L' )={:}),展开 查表( ) 展开 :TC' :int;id,id:real 匹配 TC' TC int;id,id:real T int 查表( int)={int}),展开 查表(select(T int)={int}),展开 intC' int:id,id:real 匹配 C' ;id,id:real C' ;DC' 查表(select(C' ;DC')={;}),展开 查表( 展开 ;DC' ;id,id:real 匹配 DC' id,id:real D L:T 展开 L:TC' id,id:real L IdL' 展开 idL':TC' id,id:real 匹配 L':TC' ,id:real L' ,idl' 查表(select(L' ,idL')={,}),展开 查表( ) 展开 ,idL':TC' ,id:real 匹配 L':TC' :rea l L' 查表( 查表(select(L' )={:}),展开 ) 展开 :TC' :real 匹配 TC' real T real 查表( 查表(select(T real)={real}),展开 ) 展开 C' # C' 查表( 查表(select(C' )={#}) ) # OK

编译原理考试试题

编译原理考试试题

编译原理考试试题( B 卷)备注:学生不得在试题纸上答题(含填空题、选择题等客观题一、填空题(每空1分,共20分)1.编译过程一般分为、、中间代码生成、和目标代码生成五个阶段。

2.语法分析最常用的两类方法是和分析法。

3.确定的有穷自动机是一个,通常表示为。

4.所谓最右推导是指。

5.语法分析器的任务是。

6.如果一个文法的任何产生式的右部都不含有的非终结符,则这种文法称为文法。

7.进行确定的自上而下语法分析要求语言的文法是无和的。

8.LR分析法是一种的语法分析方法。

9.根据优化对象所涉及的程序范围,代码优化分为、和等。

10.常用的优化技术包括:、、强度削弱、复写传播、等。

二、是非题(下列各题,你认为正确的,请在题后的括号内打“√”,错的打“×”。

每题2分,共20分)1.正规文法产生的语言都可以用上下文无关文法来描述。

…………………… ( ) 2.仅考虑一个基本块,不能确定一个赋值是否真是无用的。

………………………()3.如果一个文法是递归的,则其产生的语言的句子是无穷个。

…………………()4.四元式之间的联系是通过符号表实现的。

…………………………………………()5.文法的二义性和语言的二义性是两个不同的概念。

…………………………()6.一个LL( l)文法一定是无二义的。

……………………………………………… ( ) 7.在规范规约中用最左素短语来刻划可归约串。

……………………………… ( ) 8.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。

…………… ( ) 9.编译程序是对汇编程序的翻译。

……………………………………()10.逆波兰法表示的表达式亦称前缀式。

…………………………………………… ( )三、简答题(每题5分,共15分)1、简述栈式存储管理策略;2、何谓DAG;3、何谓文法的二义性;四、给出下述文法对应的正规式(7分)S→ 0A| 1BA→1S | 1B→0S | 0五、已知文法G(E):E→T | E+T | E-TT→F | T*F | T/FF→(E) | i证明E+T*F是该文法的一个句型,并指出该句型的所有短语、直接短语和句柄。

《编译原理》考试试题及答案(汇总)

《编译原理》考试试题及答案(汇总)

《编译原理》考试试题及答案(汇总)一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分)1.编译程序是对高级语言程序的解释执行。

(× )2.一个有限状态自动机中,有且仅有一个唯一的终态。

(×)3.一个算符优先文法可能不存在算符优先函数与之对应. (√ )4.语法分析时必须先消除文法中的左递归。

(×)5.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。

(√)6.逆波兰表示法表示表达式时无须使用括号。

(√ )7.静态数组的存储空间可以在编译时确定. (×)8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。

(×) 9.两个正规集相等的必要条件是他们对应的正规式等价. (×)10.一个语义子程序描述了一个文法所对应的翻译工作。

(×)二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共40分) 1.词法分析器的输出结果是_____.A.()单词的种别编码B.( )单词在符号表中的位置C.( ) 单词的种别编码和自身值D.() 单词自身值2.正规式M 1 和M 2 等价是指_____。

A.( )M1和M2的状态数相等B.()M1和M2的有向边条数相等C.()M1和M2所识别的语言集相等D.()M1和M2状态数和有向边条数相等3.文法G:S→xSx|y所识别的语言是_____.A.( )xyx B.( ) (xyx)* C.()xnyxn(n≥0)D.()x*yx*4.如果文法G是无二义的,则它的任何句子α_____.A.( )最左推导和最右推导对应的语法树必定相同B.( ) 最左推导和最右推导对应的语法树可能不同C.()最左推导和最右推导必定相同D.()可能存在两个不同的最左推导,但它们对应的语法树相同5.构造编译程序应掌握______。

(2021年整理)中南大学编译原理期终考试试卷01

(2021年整理)中南大学编译原理期终考试试卷01

中南大学编译原理期终考试试卷01编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(中南大学编译原理期终考试试卷01)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为中南大学编译原理期终考试试卷01的全部内容。

中南大学编译原理期终考试试卷01一、填空题1、根据体系结构发展,操作系统分为____________、__________、__________、__________四种.2、分时系统的四个特征是__________、__________、__________、___________.3、多机系统的优点有:__________、__________、__________.4、信箱有____________、____________、____________三种类型。

5、文件存储空间的三种管理方法是__________、____________、____________。

6、为了赋予操作系统以某些特权,使得操作系统更加安全可靠地工作,实际操作系统中区分程序执行的两种不同的运行状态是_ _ _;__ _态程序不能执行特权指令。

7、在一个请求式页式存储系统中,页面大小为128字,一个用户程序访问的字地址序列为70,74,135,276,400,300,700,266,148,560,284,712。

其访问的页序列为。

假定分配给该程序的内存大小为384字,则采用FIFO,LRU和LFU 页面置换算法时,访问过程中的置换次数分别为__ _,__ _和_ __.8、通道是独立于的专管的处理机,它控制与内存之间的信息交换.9、一个用联想寄存器记录最活跃页表表目的分页系统,假定页表通常放在内存,且内存存取时间为1µs,联想寄存器查找时间为0.1µs。

北方工业大学《编译原理》期中试卷2019

北方工业大学《编译原理》期中试卷2019

北方工业大学《编译原理》课程期中答案2019年春季学期开课学院:信息学院考试方式:闭卷考试时间:95分钟班级姓名学号 1. 编译程序的输出是机器语言语言程序。

2. 一个上下文无关文法包含一组开始符号和一组终结符号。

3. 一个文法具有二义性,是该文法有两个不同的推导方式。

4. 词法分析时,单词符号有五种类别,其中常数没有属性信息。

5. 语法分析时,必须先消除文法中的左递归。

6. 构造LR 分析器的任务就是构造LR 分析表。

7. 递归下降分析法是自上向下分析法。

8. 某计算机上的某编译程序在另一台计算机上能直接使用的必要条件是两台计算机的操作系统功能完全相同。

9. LL(1)文法是无二义的文法。

10. SLR 分析法的S 是简单的意思。

1. ×;2. ×;3. ×;4. ×;5. ×;6. √;7. √;8. ×;9. √; 10 .√。

A .词法分析器B .语法分析器C .语义分析D .目标代码生成器 2、下列对编译程序描述正确的是( )。

订线装( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( )A.编译程序能把一种语言程序转换成另一种语言程序B.编译程序只是对高级语言的翻译C.链接程序只有链接功能D.优化是对目标代码的优化3、已知下列文法G[S],请问它的语言是()。

G[S]: S→dAA→aA | aA.{d m a n|n>1, m>1} B.{da n|n>0}C.{da n d|n>=1} D.{a n d|n>0}4、下列正规表达式中与(a* | b*)c等价的表达是()。

A.a *c| b*c B.a* | b*c C.a *c | b* D.(a | b)*c5)。

A.以1开头的二进制数组成的集合B.以0结尾的二进制数组成的集合C.含奇数个1和0的二进制数组成的集合D.以1开头,0结尾的二进制数组成的集合6、DFA与NFA的描述正确的是()。

编译原理期中测试题

编译原理期中测试题

1 算符优先分析是一种自底向上的分析方法,它是以什么作为每一步归约的对象?()选择一个答案a. 最左素短语b. 最右直接短语c. 句柄d. 最左直接短语2 下面哪种不是自底向上的语法分析文法?()选择一个答案a. LR(1)b. LL(k)c. SLR(1)d. 算符优先法3设G是一个给定的文法,S是文法的开始符号,如果S x(其中x∈V*),则称x是文法G 的一个。

选择一个答案Aa. 句型b. 候选式c. 单词d. 产生式4 文法G 产生的()的全体是该文法描述的语言。

选择一个答案a. 终结符集b. 非终结符集c. 句子d. 句型5 下面不是翻译程序的是()a. 解释程序b. 编译程序c. 源程序d. 汇编程序6 乔姆斯基(Chomsky)把文法分为四种类型,即0型、1型、2型、3型。

其中3型文法是( )a. 短语文法b. 上下文有关文法c. 上下文无关文法d. 正则文法7 后缀式ab+cd+/可用表达式来表示( )a. a+b/c+db. a+b/(c+d)c. (a+b)/(c+d)d. a+b+c/d8 设文法为:S→SA|AA→a|b则对句子aba,下面是规范推导。

a. S==>SA==>SAA==>SAa==>Sba==>Aba==>abab. S==>SA==>Sa==>SAa==>Sba==>Aba==>abac. S==>SA==>SAA==>AAA==>aAA==>abA==>abad. S==>SA==>SAA==>AAA==>AAa==>Aba==>aba9 高级语言编译程序常用的语法分析方法中,递归分析法属于哪种分析方法?()a. 自右至左b. 自左至右c. 自底向上d. 自顶向下10 最左简单子树的末端结点构成的符号串称为()a. 最左素短语b. 素短语c. 简单短语11 词法分析器用于识别_____。

a. 标识符b. 语句c. 字符串d. 单词12 正规式M1和M2等价是指。

(完整word版)编译原理练习题

(完整word版)编译原理练习题

一章:1、编译程序各阶段都涉及。

A、词法分析B、表格管理C、语法分析D、语义分析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、过程1、扫描器的任务是从源程序中识别出一个个单词符号。

2、高级语言源程序有两种执行方式,即解释和编译。

判断:高级语言编写的源程序都必须通过编译,产生目标代码后才能运行。

多遍扫描的编译程序的多遍是指多次重复读源程序。

高级语言程序到低级语言程序的转换是基于语义的等价变换。

编译程序中错误处理的任务是对检查出的错误进行修改。

目标程序一定是机器语言程序。

连接装配程序可把经编译程序产生的目标程序变成可执行的机器语言程序。

简答题:1、请指出下列错误信息可能是编译的哪个阶段报告的?①else没有匹配的if;②数组下标越界;③使用的函数没有定义;④在数中出现了非数字信息。

答:①语法分析阶段②语义分析与中间代码生成阶段③语义分析与中间代码生成阶段④词法分析阶段2、何谓源程序、中间代码和目标代码?它们三者之间有何种关系?答:所谓源程序是指用某种高级语言编写的程序,它是编译程序的加工对象。

目标程序是指低级语言(机器语言或汇编语言)编写的程序,它是编译程序的加工结果。

中间代码是其结构介于源程序和目标程序之间的一种机内表示形式,它是编译程序产生的中间临时结果。

它们三者之间的关系是等价关系,即结构不同,但语义相同。

二章:1、文法G:S-xSx|y所识别的语言是。

A、xyx B 、(xyx)* C、x n yx n(n≥0) D、x*yx*2、设有文法G[S]=({S,B},{b},{S-b|bB,B-bS},S),该文法所描述的语言是。

编译原理试题及答案

编译原理试题及答案

编译原理试题及答案1. 选择题(每题4分,共40分)1) 当编译器在词法分析阶段遇到无法识别的字符时,应该采取的动作是:A. 直接忽略该字符并继续进行词法分析B. 输出错误信息并终止词法分析过程C. 将该字符标记为非法字符并继续词法分析D. 转交给语法分析器进行处理答案:B2) 下列关于语法分析器的描述中,错误的是:A. 语法分析器使用文法规则将输入的记号流转化为推导树B. 语法分析器可以通过自上而下或自下而上的方式进行解析C. LL(1)文法是一种常用于自上而下语法分析的文法形式D. 语法分析器的输入是词法分析器输出的记号流答案:A3) 以下关于语法制导翻译的说法,正确的是:A. 语法制导翻译是在语义分析阶段完成的B. 语法制导翻译通过产生式的属性传递进行信息的传递和计算C. 语法制导翻译只能用于自上而下的语法分析D. 语法制导翻译是在语法分析阶段完成的答案:B4) 在SLR分析算法中,项目集簇的构造过程中需要进行的操作是:A. 闭包操作和移进操作B. 移进操作和规约操作C. 闭包操作和规约操作D. 闭包操作、移进操作和规约操作答案:D5) 下列关于中间代码生成的叙述中,错误的是:A. 中间代码是一种类似于汇编代码的表示形式B. 中间代码可以直接被目标代码生成器所使用C. 中间代码的生成可以采用三地址码的形式D. 中间代码的生成在语法分析和语义分析之后进行答案:B2. 简答题(每题10分,共30分)1) 请简要描述编译器的主要工作流程。

答案:编译器的主要工作流程包括词法分析、语法分析、语义分析、中间代码生成、优化和目标代码生成等阶段。

在词法分析阶段,编译器将输入的源代码转化为一个个记号流。

接下来,在语法分析阶段,编译器使用文法规则对记号流进行分析,并生成语法树或推导树。

在语义分析阶段,编译器对语法树进行语义检查,并进行类型推导和符号表管理等操作。

中间代码生成阶段将经过语义分析的源代码转化为一种中间表示形式,通常是三地址码。

编译原理期中考试答案

编译原理期中考试答案

三、完成下列各题(共30分)1、(5分)2、(1)E⇒E+T⇒ E+T+T ⇒ E+T+F⇒ E+T+i⇒⇒ E+T*F+i⇒ T+T*F+i(3分)语法树(2分)(2)短语:T*F,T,i,T+T*F,T+T*F+i (1分)简单短语:T*F,T,i (1分)句柄:T (1分)活前缀:T (1分)可归前缀:T (1分)3、如果对于某文法的同一个句子存在两个不同的语法树则称该句子是二义性的,包含二义性句子的文法称为二义性文法。

(4分)对于句子i+i*i有两棵不同的语法树。

画出两棵不同的语法树(6分)四、(共40分)1、R=1(1|0)*|0正则式转化为NFA(5分)NFA转化为DFA,并换名(5分)DFA最小化(5分)K1={B,C,D} K2={A}K11={ C,D} K12={B}C,D为等价状态,合并等价状态为0,11 0,10,12、S→aBc|bABA→aAb|bB→b|ε(1)FOLLOW(S)={#}FOLLOW(A)={b,#}FOLLOW(B)= {c,#} (3分)(2)SELECT(S→aBc)={a}SELECT(S→Bab)={b}SELECT(S→aBc)∩SELECT(S→Bab)=ФSELECT(A→aAb)={a}SELECT(A→b)={b}SELECT(A→aAb)∩SELECT(A→b)={b}=ФSELECT(B→b)={b}SELECT(ε)={c,#}SELECT(B→b)∩SELECT(ε)=Ф所以该文法是LL(1)文法。

(7分)(3)(5分)3、对规则进行编号(0) S→A(1)A→Ab(2) A→bBa(3)B→aAc(4) B→a(5) B→aAb(1)为这个文法构造LR(0)项目集规范族。

(2)该文法是LR(0)文法吗?请说明理由。

(3)构造它的LR(0)分析表。

(15分)(2)状态C5存在“移进-归约”冲突,状态C9存在“归约-归约”冲突,所以该文法不是LR(0)文法。

2005-2006第2学期编译原理期中试题

2005-2006第2学期编译原理期中试题

2005-2006第二学期编译原理期中考试试题(不用抄题,写清题号,将答案写在答题纸上)
1.编译过程通常分为哪几个主要阶段?每个阶段的主要功能?
2.编译程序和解释程序有哪些区别?
3.给出描述非0数字作为开始符的奇数字符串的正则表达式或正则式。

4.已知文法G[S]:
S → S;G│G G → G(T)│ H
H → a │ (S) T → T+S │ S
找出句型:a(T+S);H;(S)的短语、直接短语和句柄。

5.已知有限自动机如图:
(1)以上状态转换图表示的语言有什么特
征?
(2)写出其正规式与正规文法.
(3)构造识别该语言的最小的有限自动机DFA。

6.对于文法G2,填写各产生式的选择集合和G2的预测分析表。

G2:①E→TE' ②E'→+TE'
③E'→ε④T→FT'
⑤T'→*FT' ⑥T'→ε
⑦F→(E) ⑧F→i
7.说明如下文法是否是LL(1)文法,若不
是,将其转换为LL(1)文法。

最后给出该文法的LL(1)分析表。

G[A]:A → B e
B → B b | a。

编译原理期中试卷

编译原理期中试卷

《编译原理》期中试卷姓名_______ 学号__________ 成绩_______一、是非题(下列各题你认为正确的,请在题干的括号内打“√”,错的打“×”。

每题2分) l、一个LL( l)文法一定是无二义的。

( )2、逆波兰法表示的表达式亦称前缀式。

( )3、目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。

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

( )5、一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。

( )6、因名字都是用标识符表示的,故名字与标识符没有区别()7、一个句型的真接短语语是唯一的。

()8、已经说明文法的二义性是可判定的。

()9、每个基本块可用一个DAG表示。

()10、每个过程的活动记录的体积在编译时可静态确定。

()11、并不是每个文法都能改写成LL(1)文法。

()12、如果一个文法存在某个句子对应两棵不同的语法树,则该文法是二义的。

()13、一个上下文无关文法的开始符号可以是终结符或非终结符。

()14、孤立地考虑一个基本块常常不能确定一个赋值是否真是无用的。

()15、含有优化部分的编译程序的执行效率高。

()16、凡是具有某种特殊性质的客体的聚合,都可称为集合。

()17、设有符号串x和y,把y的符号写在x的符号之后所得的符号串,叫做x与y的联结,记为xy。

()18、符号表由词法分析程序建立,由语法分析程序使用。

()19、编译程序中的语法分析器接受以语句为单位的输入,并产生有关信息供以后各阶段使用。

()20、若一个句型中出现了某一产生式的右部,则此右部一定是该句型的句柄。

()二、选择题:(每题2分)1、编译程序是一种常用的_________软件。

a.应用b.系统c.支撑d.自动化2、在使用高级语言编程时,首先可通过编译程序发现源程序的全部______错误和部分语义错误。

a.语法b.语义c. 语用d.运行3、运算符与运算对象类型不符"属于______。

《编译原理》期中及期末习题

《编译原理》期中及期末习题

《编译原理》期中及期末习题第⼀章⾼级语⾔与编译程序概述典型例题:单项选择题1.1.1.将编译程序分成若⼲个“遍”是为了___。

a.提⾼程序的执⾏效率b.使程序的结构更加清晰c.利⽤有限的机器内存并提⾼机器的执⾏效率d.利⽤有限的机器内存但降低了机器的执⾏效率1.1.2.构造编译程序应掌握____。

(陕西省2000年⾃考题)a.源程序b.⽬标语⾔c.编译⽅法d.以上三项都是1.1.3.变量应当_。

a.持有左值b.持有右值c.既持有左值⼜持有右值d.既不持有左值也不持有右值1.1.4.编译程序绝⼤多数时间花在____上。

(陕西省1998年⾃考题)a.出错处理b.词法分析c.⽬标代码⽣成d.管理表格1.1.5.____不可能是⽬标代码。

( 陕西省1997年⾃考题)a.汇编指令代码b.可重定位指令代码c.绝对指令代码d.中间代码1.1.6.数组A[1…20,1…10]的⾸地址偏移量为0,按列存储,每个元素占⼀个字节,存储器按字节编址,则A[i,j]的偏移地址为____。

a.(i-1)X10+(j-1)b.(i-1)X20+(j-1)c. (i-1)+(j-1)X10d.(i-1)+(j-1)X201.1.7.使⽤____可以定义⼀个程序的意义。

a.语义规则b.词法规则c.产⽣规则d.左结合规则1.1.8.表达式X:=5中,变量x____。

a.只有左值b.只有右值c.既有左值⼜有右值d.没有左值也没有右值1.1.9.词法分析器的输⼊是__。

a.单词符号b.源程序c.语法单位d.⽬标程序1.1.10.中间代码⽣成时所遵循的是_。

a.语法规则b.词法规则c.语义规则d.等价变换规则1.1.11.编译程序是对__。

a.汇编程序的翻译b.⾼级语⾔程序的解释执⾏c.机器语⾔的执⾏d.⾼级语⾔的翻译1.1.12.词法分析应遵循_。

(陕西省2000年⾃考题)a.语义规则b.语法规则c.构词规则d.等价变换规则多项选择题:1.2.1 编译程序各阶段的⼯作都涉及到___。

编译原理测试题

编译原理测试题

编译原理期中测试题一、是非题(下列各题,你认为正确的打“√”,错的打“×”,每题2分,共10分)1、一个LL(1)文法一定是无二义的。

( )2、每个文法都能改写为LL(1)文法。

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

( )4、一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。

( )5、若文法G 定义的语言是无限集,则文法必然是递归的( )二、填空题(每题2分,共20分)1、语法分析是依据语言的( )规则进行的,2、程序语言的单词符号一般可以分为( )等等。

3、语法分析器的输入是( ),其输出是( )。

4、所谓自上而下分析法是指( )。

5、如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是( )。

6、对于文法G,仅含终结符号的句型称为( )。

4、语法分析最常用的两类方法是()和()分析法。

5、一个上下文无关文法所含四个组成部分是()三、名词解释题(每题3分,共15分)1、词法分析器2、语法树3、最右推导4、句柄5、正规文法四、简述题(每题5分,共20分)1、写一上下文无关文法,它能产生语言}0,|#{>==m n b a L m n 。

2、将文法G[S] 改写为等价的G′[S],使G′[S]不含左递归和左公共因子。

G[S]: S→bSAe | bAA→Ab | d3、什么是文法的二义性?下面的文法是二义的吗?为什么?G[S]: S→AB | ABD A→aB →CD |C C →cD →d4、设文法G[A]:A → [BB → X] | BAX → Xa | Xb | a | b试求出文法G[A]产生的语言对应的正则式。

五、计算题(共35分)1、已知文法G(S):S→a|∧|(T)T→T,S|S⑴ 给出句子(a,(a,a))的最左推导并画出语法树;⑵ 给出句型((T,S),a)的短语、直接短语、句柄。

(10分)2、给出与正规式R=(ab)*(a|b*)ba等价的NFA。

《编译原理》考试试题及答案(汇总)

《编译原理》考试试题及答案(汇总)

《编译原理》考试试题及答案(汇总)一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分)1.编译程序是对高级语言程序的解释执行.(× )2.一个有限状态自动机中,有且仅有一个唯一的终态。

(×)3.一个算符优先文法可能不存在算符优先函数与之对应. (√ )4.语法分析时必须先消除文法中的左递归。

(×)5.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。

(√)6.逆波兰表示法表示表达式时无须使用括号。

(√ )7.静态数组的存储空间可以在编译时确定。

(×)8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。

(×) 9.两个正规集相等的必要条件是他们对应的正规式等价. (× )10.一个语义子程序描述了一个文法所对应的翻译工作。

(×)二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共40分)1.词法分析器的输出结果是_____。

A.( ) 单词的种别编码B.( ) 单词在符号表中的位置C.() 单词的种别编码和自身值D.() 单词自身值2.正规式M 1 和M 2 等价是指_____。

A.( ) M1和M2的状态数相等B.() M1和M2的有向边条数相等C.()M1和M2所识别的语言集相等D.()M1和M2状态数和有向边条数相等3.文法G:S→xSx|y所识别的语言是_____。

A.() xyx B.()(xyx)* C.() xnyxn(n≥0) D.() x*yx*4.如果文法G是无二义的,则它的任何句子α_____。

A.( )最左推导和最右推导对应的语法树必定相同B.() 最左推导和最右推导对应的语法树可能不同C.( ) 最左推导和最右推导必定相同D.()可能存在两个不同的最左推导,但它们对应的语法树相同5.构造编译程序应掌握______。

编译原理试题及答案

编译原理试题及答案

编译原理试题及答案一、选择题1. 编译器的主要功能是什么?A. 代码优化B. 语法分析C. 代码生成D. 所有以上选项答案:D2. 下列哪个阶段属于编译过程的前端?A. 语法分析B. 代码生成C. 运行时库链接D. 目标代码优化答案:A3. 在编译原理中,什么是“产生式系统”?A. 一种编程语言的规范B. 一种用于描述语法的系统C. 一种代码优化技术D. 一种代码生成方法答案:B4. 以下哪个是自顶向下的语法分析方法?A. LR分析B. LALR分析C. LL分析D. CYK算法答案:C5. 在编译器的哪个阶段会进行类型检查?A. 词法分析B. 语法分析C. 语义分析D. 代码生成答案:C二、填空题1. 编译器在进行________时,会识别源代码中的各种标识符、常量、运算符等,并将其转换成相应的符号。

答案:词法分析2. 在编译原理中,________图是一种用于描述程序执行过程中变量状态的图,它以节点表示变量的值,以有向边表示程序的控制流。

答案:控制流3. 语法分析的主要任务是根据________规则来分析和构建源程序的语法结构。

答案:语法4. 在编译过程中,________是将源程序中的高级表示转换为机器语言或中间代码的过程。

答案:代码生成5. 编译器的________阶段负责将优化后的代码转换为目标机器可执行的指令序列。

答案:目标代码生成三、简答题1. 简述编译器的一般工作流程。

答:编译器的一般工作流程包括以下几个阶段:首先是词法分析,将源代码文本分解成一系列的记号;其次是语法分析,根据语言的语法规则构建抽象语法树;接着是语义分析,检查源代码的语义正确性并进行类型检查;然后是中间代码生成,将抽象语法树转换为中间表示形式;之后是代码优化,对中间代码进行各种优化以提高效率;最后是代码生成,将优化后的中间代码转换为目标机器的机器代码。

2. 描述自顶向下和自底向上语法分析方法的主要区别。

答:自顶向下的语法分析方法从开始符号开始,尝试将输入的记号序列归约为语法中的产生式规则,直到得到完整的抽象语法树。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

系别___________________ 专业_____________________年级_____________________姓名_________________学号
┈┈┈┈┈┈┈┈┈┈┈┈┈┈密┈┈┈┈┈┈┈┈┈┈┈┈┈┈封┈┈┈┈┈┈┈┈┈┈┈┈┈线┈┈┈┈┈┈┈┈┈┈┈┈┈┈
计算机学院编译原理课
期中测试题
1.文法G所描述的语言是的集合。

A.文法G的字母表V中所有符号组成的符号串
B.文法G的字母表V的闭包V*中的所有符号串
C.由文法的开始符号推出的所有符号串
D.由文法的开始符号推出的所有终结符串
2.有文法G[I]:I→I1|I0|Ia|Ib|Ic|a|b|c ,下列符号串中是该文法的句子的有
①ab0 ②a0c01 ③aaa ④bc10 可选项有:。

A.②③④
B.①
C.③
D.①②③④
3.词法分析所依据的是。

A.语义规则
B.构词规则
C.语法规则
D.等价变换规则
4.如果L(M) = L(M’),则M与M’。

A.等价
B.M与M’都是二义的
C.M与M’都是无二义的
D.它们的状态数相等
5.下面状态转换图接受的字集为。

1
A.以0开头的二进制数组成的集合
B.以0结尾的二进制数组成的集合
C. 含奇数个0的二进制数组成的集合
D.含偶数个0的二进制数组成的集合
6.文法G[E]:
E→T|E+T T→F|T*F F→a|(E)
该文法句型E+F*(E+T)的直接短语是下列符号串的。

①(E+T) ②E+T ③F ④F*(E+T)
可选项有:
A.①③
B.②③
C.③④
D.③
7. 有限状态自动机能识别。

A.上下文无关文法
B.上下文有关文法
C.正规文法
D.短语文法
8. 如果文法G是无二义的,则它的任何句子 。

A.最左推导和最右推导对应的语法树必定相同
B.最左推导和最右推导对应的语法树可能不同
C.最左推导和最右推导必定相同
D.可能存在两个不同的最左推导,但他们对应的语法树相同
9.产生正规语言的文法为文法
A . 0型
B .1型 C.2型 D.3型
10、素短语是指_______的短语。

①至少包含一个非终结符号 ②至少包含一个终结符号
③除自身外不再包含其它终结符号 ④除自身外不再包含其它非终结符号 ⑤除自身外不再包含其它短语 ⑥除自身外不再包含其它素短语 可选项有:
A.①⑥
B.②⑤
C. ③④
D.②⑥
1.简述编译过程的五个阶段及各个阶段的任务。

2.简述自上而下语法分析方法基本思想及自上而下分析方法面临的问题?
一、1.(10分)写一个文法使其语言为L(G)={a n b n c m | m,n≥1,n 为奇数,m 为偶数}。

2.(10分) 设∑={0,1}上的正规集S 由倒数第二个字符为1的所有字符串组成,请给出该字集对应的正规式,并构
造一个识别该正规集的DFA 。

3. 对文法G(S):
S → S ∨ a T | a T | ∨ a T T → ∧ a T | ∧ a
(1) 消除该文法的左递归和提取左公因子;
(2) 构造各非终结符的FIRST 和FOLLOW 集合;
(3) 构造该文法的LL(1)分析表,并判断该文法是否是LL(1)的。

4.(9分) 设已构造出文法G(S):
(1) S → BB (2) B → aB (3) B → b
的LR 分析表如下
假定输入串为abab ,请给出LR 分析过程(即按照步骤给出状态,符号,输入串的变化过程)。

二、简答题:
三、推导计算题:(共60分)。

相关文档
最新文档