编译原理期中测试

合集下载

编译原理期中练习及答案

编译原理期中练习及答案
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。

编译原理期中考试

编译原理期中考试

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是该文法的一个句型,并指出该句型的所有短语、直接短语和句柄。

编译原理期中测试题

编译原理期中测试题

系别___________________ 专业_____________________年级_____________________姓名_________________学号┈┈┈┈┈┈┈┈┈┈┈┈┈┈密┈┈┈┈┈┈┈┈┈┈┈┈┈┈封┈┈┈┈┈┈┈┈┈┈┈┈┈线┈┈┈┈┈┈┈┈┈┈┈┈┈┈计算机学院编译原理课期中测试题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.下面状态转换图接受的字集为。

1A.以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、素短语是指_______的短语。

(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。

编译原理考试题及答案

编译原理考试题及答案

编译原理考试题及答案一、选择题(每题5分,共20分)1. 编译器的主要功能是什么?A. 代码优化B. 代码翻译C. 代码调试D. 代码运行答案:B2. 下列哪个选项不属于编译器的前端部分?A. 词法分析B. 语法分析C. 语义分析D. 代码生成答案:D3. 在编译原理中,文法的产生式通常表示为:A. A -> αB. A -> βC. A -> γD. A -> δ答案:A4. 下列哪个算法用于构建语法分析树?A. LL(1)分析B. LR(1)分析C. SLR(1)分析D. LALR(1)分析答案:A二、填空题(每空5分,共20分)1. 编译器的前端通常包括词法分析、语法分析和________。

答案:语义分析2. 编译器的后端主要负责________和目标代码生成。

答案:代码优化3. 编译器中的词法分析器通常使用________算法来识别单词。

答案:有限自动机4. 语法分析中,________分析是一种自顶向下的分析方法。

答案:递归下降三、简答题(每题10分,共30分)1. 简述编译器的作用。

答案:编译器的主要作用是将高级语言编写的源代码转换成计算机能够理解的低级语言或机器代码,以便执行。

2. 解释一下什么是语法制导翻译。

答案:语法制导翻译是一种翻译技术,它利用源语言的语法信息来指导翻译过程,使得翻译过程能够更好地理解源代码的语义。

3. 什么是词法分析器?答案:词法分析器是编译器前端的一部分,它的任务是将源代码文本分解成一系列的标记(tokens),这些标记是源代码的最小有意义的单位。

四、计算题(每题10分,共30分)1. 给定一个简单的文法G(E):E → E + T | TT → T * F | FF → (E) | id请计算文法的非终结符号E的FIRST集和FOLLOW集。

答案:E的FIRST集为{(, id},FOLLOW集为{), +, $}。

2. 假设编译器在进行语法分析时,遇到一个语法错误的代码片段,请简述编译器如何处理这种情况。

北方工业大学《编译原理》期中试卷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的描述正确的是()。

编译原理考试及答案

编译原理考试及答案

编译原理考试及答案一、选择题(每题2分,共20分)1. 编译器的主要功能是将源代码翻译成目标代码,以下哪个选项不属于编译器的主要功能?A. 词法分析B. 语法分析C. 语义分析D. 代码优化答案:D2. 在编译原理中,BNF(巴科斯-诺尔范式)是一种用于描述哪种结构的记号?A. 语法结构B. 词法结构C. 语义结构D. 控制结构答案:A3. 编译过程中的哪个阶段负责检查变量是否被正确声明?A. 词法分析B. 语法分析C. 语义分析D. 代码生成答案:C4. 下列哪个选项不是编译器前端处理的一部分?A. 预处理B. 词法分析C. 语法分析D. 目标代码生成答案:D5. 在编译原理中,自底向上的解析方法通常指的是哪种分析方法?A. LL(1)分析B. LR(1)分析C. LALR(1)分析D. SLR(1)分析答案:B6. 编译器中的语义分析阶段主要负责什么?A. 识别标识符B. 检查语法结构C. 构建抽象语法树D. 生成中间代码答案:C7. 编译器中的错误恢复机制主要在哪个阶段进行?A. 词法分析B. 语法分析C. 语义分析D. 代码优化答案:B8. 编译器中的代码优化通常发生在哪个阶段?A. 语义分析B. 中间代码生成C. 目标代码生成D. 机器无关代码优化答案:D9. 在编译原理中,哪些技术用于处理左递归?A. 直接左递归消除B. 间接左递归消除C. 直接和间接左递归消除D. 只有直接左递归消除答案:C10. 编译器中的哪些技术用于处理冲突?A. 预测分析表B. 状态转换图C. 优先级规则D. 所有选项答案:D二、填空题(每题2分,共20分)1. 编译器的前端主要负责源程序的______和______。

答案:词法分析;语法分析2. 编译器的后端主要负责______和______。

答案:代码优化;目标代码生成3. 在编译原理中,一个文法的产生式规则形式为:A → α,其中A是非终结符,α是终结符和非终结符的有限序列,这种产生式规则被称为______产生式。

编译原理期中测试题

编译原理期中测试题

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等价是指。

北京大学 编译原理 期中考试

北京大学  编译原理  期中考试

2011年《编译技术》第三次小测验(2011年6月1日)姓名:_______________ 学号:________________(本次小测验闭卷。

时间:50分钟)1.[45pt] 简答a)[10pt] (类型表达式)假设类型名link和cell的定义如下(PASCAL):TYPE link = ^cell;cell = recordinfo: integer;next: linkend;FUNCTION foo (x:integer, y:cell) : link;请写出foo的类型表达式。

foo的类型表达式:integer × cell → POINTER (cell)其中,cell的类型表达式: RECORD((info×integer)×(next×POINTER(cell))a)[15pt] (语义检查)在C语言中,3++ 和(id+id)++这样的表达式在编译时会报告如下的错误: invalid lvalue in increment。

现有如下简化的C语言表达式文法:E → E +E | (E) | E++ | id | num设计一个语法制导的翻译模式,使其能够检查 “++” 运算符的运算对象是否合法。

(如果不合法,输出上述的错误消息)。

E’→E { }E → E1 + E2{ E.val := rvalue }E → (E1) { E.val := E1.val }if(E1.val = rvalue) thenE → E1++ {print(“invalid lvalue in increment”)E.val := rvalue }E → id { E.val := lvalue }E → num { E.val := rvalue }b)[12pt] (参数传递方式)给定Pascal的程序:program main(input, output);var a,b : integer;procedure p(x,y,z: integer);beginy:= y+1; z:= z+x;end;begina:= 3; b:= 4;p(a+b, a, a);print a;end.假定采用如下的过程参数传递方式,上述程序的输出结果分别是什么?(i) 传值调用:__________3_________________(ii) 引用调用:__________11__________________(iii) “复制-恢复”调用:________10_________________(iv) 换名调用:_____________12___________________c)[8pt] (运行时存储分配)一个PASCAL程序(采用栈式存储分配,用存取链实现对非局部名字的访问)由主程序M和过程P、Q、R、S、T 构成,它们之间的全部包含关系是:M直接包含P和Q;P直接包含R 和S;Q直接包含T。

2011年编译原理期中试题-解答

2011年编译原理期中试题-解答

1.(10分) 对下列错误信息,请指出可能是编译的哪个阶段(词法分析、语法分析、语义分析、代码生成)报告的。

(1) else 没有匹配的if(2) 数组下标越界(3) 使用的函数没有定义(4) 在数中出现非数字字符(5)函数调用时实参与形参类型不一致答案:(每小题2分)(1) 语法分析(2)(3) 语义分析(4) 词法分析(5) 语义分析2.(15分) 构造一个DFA ,它接收Σ={0,1}上所有满足如下条件的字符串:每个1 都有0 直接跟在右边。

并给出该语言的正规式。

答案:()按题意相应的正规表达式是(0*10)*0*,或0*(0 | 10)*0*,构造相应的DFA 。

3.(10分) 为下面的语言设计文法:(1) {a m b n , 其中m ≥ n }(2) {w | w ∈{a , b }*,w 的长度为奇数}答案:(每小题 10分)(1)考虑在先产生同样数目的a,b ,然后再生成多余的a 。

以下是一种解法:S → aSb | aS | ε(2) A → aB | bBB → aA | bA | ε4.(10分) 填空(1) 对于一个有N 个非终结符,M 个终结符的文法,如果可以为该文法构造一个LL(1)分析表,那么,该分析表应当有 N 行 M+1 列;如果可以为该文法构造一个SLR 分析表,那么,该Action 分析表应当有 列。

(2) 如果有一条产生式A → α B ,那么,Follow (A )和Follow (B )之间的关系是 Follow (A )⊆Follow (B ) 。

(3) 若文法是LL (1)的,则其中非终结符A 的任意两条不同产生式A → α 和A → β,必须满足条件 。

5.(15分) 给定文法:E → E + T | E - T |TT → T * F | T / F |FF → (E ) | id证明 E + T *(id )是文法的一个句型,指出该句型的所有短语、直接短语和句柄。

编译原理期中考试答案

编译原理期中考试答案

三、完成下列各题(共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)文法。

编译原理期中试卷

编译原理期中试卷

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

每题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、运算符与运算对象类型不符"属于______。

编译原理测试及答案三

编译原理测试及答案三

编译原理测试及答案三一、 单选题(每题2分,共20分)1.在使用高级语言编程时,首先可通过编译程序发现源程序的全部______错误和部分语义错误。

A.语法B.语义C. 语用D.运行2. 一个语言的文法是_____。

A .惟一的B .不惟一的 C.个数有限的3. 字母表是 {0, 1},写出以01 结尾的所有串的正规式是( )。

A. (0|1)*01 B .0*1*01 C.1*0*01 D. (01)*4. 设有文法G[S]:S::=S*S|S+S|(S)|a ,该文法_______二义性文法。

A.是 B.不是 C.无法判断 D.可能5. 一个句型的最左直接短语称为该句型的_______。

A.句型 B.短语 C.简单短语 D.句柄6.在状态转换图中,结点代表____,用圆圈表示。

A.输入缓冲区B.向前搜索C.状态D.字符串7、正则式的“|”读作______。

A.并且 B 或者 C.连接 D.闭包8、E->TE' E'->+TE'|ε T->FT' T'->*FT'|ε F-> (E)|idFOLLOW(F)=______,FIRST(T')= {*,ε} A.{*,+} B. {#,)} C.{+,#,)} D.{*, +, #, )}9、高级语言编译程序常用的语法分析方法中,递归下降分析法属于_____ 分析方法。

可选项有;A. 自左至右B.自上而下C.自下而上D.自右向左10、连接编译器的前端和后端的接口是: ( )A.TINY 语言B. 中间语言C.上下文无关语言D. 中间语言二、 判断题(每题2分,共10分,对的打√,错的打×)1. 简单算术表达式文法中值是继承属性。

( ) 2、可识别语言}1|{ n c a nn的一个上下文无关文法G(S):S->aSc|ε ()3. LEX是用来生成词法分析程序的程序。

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

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

《编译原理》期中及期末习题第⼀章⾼级语⾔与编译程序概述典型例题:单项选择题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 编译程序各阶段的⼯作都涉及到___。

2018年编译原理期中测试答案1

2018年编译原理期中测试答案1

2018年11月编译原理期中测试一、概念题:(每题 分,共 30 分)1、请写出由下列文法所确定的语言。

(16分)(1)G1: S →10S01 S →aA A →bA A →a 解:nm n n m n mn n n n n n na ab A ab abA aA S S S S )01()10()01()10()01()10()01()10()01()10(010*********⇒⇒⇒⇒⇒⇒⇒所以语言{nmna ab )01()10(} n>=0,m>=0(2)G2: S →aSS S →a2、解:12*+⇒⇒⇒⇒⇒⇒n a S aaaaaaa aaSSaSS S aaaaaaaSSS S aaaS所以语言{ 12+n a} n>=0(3)G3:S → aSb|c 解:(4)G4: S->D|SD D->0|1|2|3|4|5|6|7|8|9 解:2、已知语言L ,试构造相应文法。

(6分)构造产生语言 }1,0|{≥≥n m b d c a n m m n 的文法。

答:S → aAb | aSb A →ε | cAd3、已知文法 G[S] 为 S → aSb|Sb|b ,试证明文法 G[S] 为二义文法。

(8分) 解:一个文法,如果存在某个句子有不只一棵语法分析树与之对应,那么称这个 文法是二义性文法。

句子aabbbb 有两棵语法树。

如下图:二、简答题:(每题分,共 70 分)1、给定文法G[S]:bQaAS|→; bbBaAA||→;aQbDB|→;bbDaQQ||→;aAbBD|→;bFaBE|→; baEbDF||→构造相应的最小的DFA (必须给出中间构造过程)。

(15分)解:先构造其NFA:用子集法将NFA确定化:将S、A、Q、BZ、DZ、D、B重新命名,分别用0、1、2、3、4、5、6表示。

因为3、4中含有z,所以它们为终态。

令PP1=({0,5, 6},{1,2},{3,4})再用b进行分割:P2=({0},{5, 6},{1,2},{3,4})再用a、b 进行分割,仍不变。

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

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

北方工业大学《编译原理》课程期中试卷答案A 卷2017年春季学期开课学院: 计算机考试方式:闭卷考试时间:95 分钟班级 姓名 学号 一、 判断题(每个小题1分,共10分)1. 汇编程序与编译程序都是翻译程序,主要区别是加工对象的不同。

( )2. 解释程序同时处理源程序和数据。

( )3. 编译各阶段都涉及到构造、查找或更新有关的表格。

( )4. 上下文有关文法所定义的语法范畴是完全独立于这种范畴可能出现的环境的。

( )5. 乔姆斯基把文法分为0型、1型、2型和3型,0型文法的描述能力弱于1型。

( )6. 词法分析器不断地从输入缓冲区读入字符串,并进行识别。

( )7. 超前搜索是为了得到某一个单词符号的确切性质,需要超前扫描若干个字符。

( )8. 一张转换图只包含有限个状态,其中有一个为初态,一个为终态。

( ) 9. LR 分析法不是规范归约方法。

( ) 10. 程序设计语言的单词都能用正规式来定义。

( ) 解: 1. √ 2. √ 3. √ 4. × 5. × 6. × 7. √ 8. × 9. × 10. √二、 选择题(每个小题1分,共20分)1. 自下而上语法分析的工作原理是____。

A. 移进-推导法B. 最左推导法C. 移进-规约法D. 推导-规约法 2. LR 分析法每次都是对当前句型的____进行规约。

A. 素短语B. 句柄C.短语D. 最左素短语订线装3. 如果文法G是无二义的,则对于它的任何句子____。

A. 最左推导和最右推导对应的语法树必定相同B. 最左推导和最右推导对应的语法树可能不同C. 最左推导和最右推导必定相同D. 可能存在两个不同的最左推导,但它们对应的语法树相同4. 消除间接左递归时,由于对非终结符排序的不同,最后所得的文法在形式上可能不一样。

但不难证明,它们都是____。

A. 等价的B. 不等价的C. 形式上不一样D. 形式上完全一样5. 语法制导翻译法直观上说就是为文法中每个产生式配上一组语义规则,并且在语法分析的同时____这些语义规则。

编译原理测试题

编译原理测试题

编译原理期中测试题一、是非题(下列各题,你认为正确的打“√”,错的打“×”,每题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。

编译原理期中测试

编译原理期中测试

编译原理期中测试
已知文法G(S)
Sr bAa
Ar (B | a
Br Aa)
写出句子b(aa)b的规范归约过程。

写一个上下文无关文法,使其语言能被5整除且不以0开头的无符号整数集合(如(5 ,10,
15})
写出
L1=(an bn | n > 1}
L2=(anbm+nam | n> 1, m>0}相应的文法
证明下述文法G:
S aSbS|aS|d
是二义性文法。

给定文法G[S]:
Sr aA|bQ ; 2 aA|bB|b ; B^ bD|aQ ; Q^ aQ|bD|b; D^b B|aA ; E^ aB|bF
1 bD|aE|b
构造相应的最小的DFA 。

设有文法G (S):
S— >aBc|bAB
L >aAb|b
B— >b| £
①求各产生式的FIRST集,FOLLOW(A) FOLLOW(B)
②构造LL(1)分析表,并分析符号申baabbb是否是。

对于文法G[S]
S (L)
Sr aS
Sr a
L r L,S
L r S
(1) 画出句型(S,(a))的语法树;
(2) 写出上述句型的所有短语、直接短语、句柄和素短语设文法G[S]
S (A)
S a
A A+S
A S
(1) 构造每个非终结符的FIRSTVT和LASTVT 集合;
(2) 构造优先关系表;。

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

.
已知文法G(S)
S→bAa
A→(B | a
B→Aa)
写出句子b(aa)b的规范归约过程。

写一个上下文无关文法,使其语言能被5整除且不以0开头的无符号整数集合(如{5,10,15})
写出
L1={an bn | n≥1}
L2={anbm+nam | n≥1,m≥0}相应的文法
证明下述文法G:
S→aSbS|aS|d
是二义性文法。

给定文法G[S]:
S→aA|bQ;A→aA|bB|b;B→bD|aQ ;Q→aQ|bD|b;D→b B|aA ;E→aB|bF
F→bD|aE|b
构造相应的最小的DFA 。

设有文法G(S):
S—>aBc|bAB
A—>aAb|b
B—>b|ε
①求各产生式的FIRST集,FOLLOW(A)和FOLLOW(B)
②构造LL(1)分析表,并分析符号串baabbb是否是。

对于文法G[S]
S →(L)
S→aS
S→a
L →L,S
L→S
(1) 画出句型(S,(a)) 的语法树;
(2) 写出上述句型的所有短语、直接短语、句柄和素短语
设文法G[S]
S →(A)
S →a
A →A+S
A →S
(1) 构造每个非终结符的FIRSTVT和LASTVT集合;
(2) 构造优先关系表;
'.。

相关文档
最新文档