编译原理期中考试2009B

合集下载

编译原理考试题库B

编译原理考试题库B

西北民族大学计算机科学与信息工程学院期末考试编译原理试卷(B卷)专业:计算机科学技术课程代码: 15002171学号: 姓名:一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其代码填入题后的括号内。

每小空1分,共 10 分)1、一般程序设计语言的定义都涉及 B 三个方面。

(1)语法 (2)语义 (3)语用 (4)程序基本符号的确定供选答案:A. (1)(2)(3) B. (1)(2)(4)C. (1)(3)(4)D. (2)(3)(4)[能力层次:记忆] [难易度:B]2、程序语言一般分为(A)和(C)两大类,其中(C)通常又称为面向机器的语言。

面向机器语言指的是(B),其特点是(D),在此基础上产生了与人类自然语言比较接近的(D)(1)(2)(3)(6)A. 高级语言B. 专用语言C. 低级语言D. 通用程序语言(4)A. 用于解决机器硬件设计问题的语言B. 特定计算机系统所固有的语言C. 各种计算机系统都通用的语言D.只能在一台计算机上使用的语言(5) A. 程序的执行效率低,编制效率低,可读性差B. 程序的执行效率高,编制效率高,可读性强C. 程序的执行效率低,编制效率高,可读性强D. 程序的执行效率高,编制效率低,可读性差[能力层次:记忆] [难易度:C]3、高级语言编译程序常用的语法分析方法中,递归下降分析法属于 B 分析方法。

A.自左至右B.自顶向下C.自底向上D.自右向左[能力层次:记忆] [难易度:A]4、文法 G 产生的 D 的全体是该文法描述的语言。

A .句型 B. 终结符集 C. 非终结符集 D. 句子[能力层次:记忆] [难易度:A]5、下列属于三性文法的是: CA.G1:S→AbB S→AAS A→Bab B→bB.G2: S→A ASA→abbSa bSA→ABB AS→aabbb A→baC.G3: S→aB S→aA A→bA B→bD.G4: S→Aa S→Babb A→Cc A→Bb B→Bb B→a C→D C→Bab D→d[能力层次:简单运用] [难易度:C]二、判断题(认为对的,在题后的括号内打“√”,认为错的打“×”。

编译原理2009-2010级试卷

编译原理2009-2010级试卷

2010级一、填空题(每小题2分,共10分)1、在C语言中,m是一个整型变量,程序编译时遇到表达式m+”test”,出现错误,此错误是编译各阶段中的阶段发现的错误。

2、设有字母表A={a,b},与A*等价的正则表达式是。

3、自底向上的语法分析方法中产生的冲突有和4、LALR(1)项目是对LR(1)项目集中的5、语法制导翻译能同时进行分析和分析二、判断题(每小题1分,共10分)()1、将目标程序装配成可执行程序是编译程序的任务。

()2、一棵语法树反映了其叶子结点从左到右连接成句型的任意推导情况。

()3、NFA和DFA的区别之一是映射函数是否唯一。

()4、任何正则语言均可用上下文无关文法来描述。

()5、在C语言中语句int int1;经过词法分析后识别出int、int、1和;四个单词。

()6、自上而下语法分析的“上”是指分析树的根结点或文法的开始符号()7、每个SLR(1)文法一定是LALR(1)文法()8、LR项目集中的待约项目不会引起冲突()9、终结符既可有综合属性,也可以有继承属性()10、语法制导翻译方法既可用于生成中间代码,也可用于生成目标代码。

三、简答及简单应用题(每小题5分,共计25分)1、采用语法制导翻译方式对数组引用进行翻译,设有定义int a[10][20],写出赋值语句:x=a[i][j];翻译后生成的中间代码?2、文法G1[S]:S→(A) A→a |Bb B→Aab,请消除其中的左递归,改写后的文法是LL(1)文法吗?为什么?3、设有如下文法G[S]:S → aAcB|Bd A → AaB|c B → bScA|b2给出句型aAcbBdcc的语法树,并写出其所有短语、素短语与句柄。

4、从运行时存储分配方面解释C语言中静态变量、局部变量的生存期与作用域。

5、文法G3[S]S → S;G | G G → G(T)| H H→a | (S) T→T+S | S[S]如下:四、文法G4S→DSD |2D→0|1设计属性文法,使其能判断一个句子是否为回文数,并输出判断(8分)五、给定文法G5[S]:S→aA|a A→cAd | ε(1)给出G的LR(1)项目集规范族(包括项目集和有穷状态自动机)(12分)(2) 说明文法是否为LR(1)文法,为什么?如果文法是LR(1)文法,构造其SLR(1)分析表(8分)六、设∑={a,b},L={(a|b)*|不包含子串aab的字符串}(1)给出L的正则表达式;(5分)(2)构造识别此语言集合的的DFA;(10分)(3)构造生成此语言集合的3型文法。

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

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

《编译原理》考试试题及答案(汇总)一、是非题(请在括号内,正确的划√,错误的划×)(每个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.构造编译程序应掌握______。

完整word版编译原理考试试题及答案

完整word版编译原理考试试题及答案

完整word版编译原理考试试题及答案《编译原理》考试试题及答案(附录)一、判断题: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.扫描器的任务是从()中识别出一个个()。

编译原理期中测试题

编译原理期中测试题

系别___________________ 专业_____________________年级_____________________姓名_________________学号┈┈┈┈┈┈┈┈┈┈┈┈┈┈密┈┈┈┈┈┈┈┈┈┈┈┈┈┈封┈┈┈┈┈┈┈┈┈┈┈┈┈线┈┈┈┈┈┈┈┈┈┈┈┈┈┈计算机学院编译原理课期中测试题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、素短语是指_______的短语。

丽水学院《编译原理》期中独立作业

丽水学院《编译原理》期中独立作业

《编译原理》期中独立作业班级:学号:姓名:成绩一、填空题(20分)1、扫描器的任务是从源程序中识别出一个个字符。

2、最右推导是指:对于一个推导序列中的每一直接推导,被替换的总是当前符号串中的最右非终结符号。

3语法分析最常用的两类方法是自顶向下和自底下上分析法。

4、一个上下文无关文法所含四个组成部分是非终结符集、产生式集、一组终结符号,一个开始符号。

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

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

7、产生式是用于定义语言中的语法范畴的一种书写规则二、名词解释(20分)1、遍对源程序或源程序中间表示的一次扫描,每一遍读入一个文件,执行一个或几个阶段的编译操作,并输出源程序的一个中间表示2、语法分析在词法分析的基础上将单词序列组合成各类语法短语3、短语若Z加推出xAy 加推出xay任一子树的树叶全体(具有共同祖先的叶节点符号串)皆为短语。

4、中间代码优化5、句柄一个句型的最左简单短语称为该句型的句柄。

三、简答题1、已知文法G(S)S→a|∧|(T)T→T,S|S写出句子((a,a),a)的规范推导过程(10分)解:句型归约规则句柄((a,a),a) S→a a((S,a),a) T→S S((T,a),a) S→a a((T,S),a) T→T,S T,S((S),a) T→S S((T),a) S→S(T)(T)(S,a) T→S S(T,a) S→a a(T,S) T→T,S T,S(T) S→(T)(T)S2、已知文法G(E)(10分)E→T|E+TT→F|T * FF→(E)|i(1) 给出句型(T * F+i)的语法树;(2) 给出句型(T * F+i)的短语、句柄。

句型T*F+I的短语为i、T*F、T*F+i; 简单短语为i、T*F;句柄为第一个T*f。

3、设Σ={x,y},Σ上的正规表达式e=yxy*(xy|yx)x*y*,请构造一个NDFA M,使L(M)=L(e)(10分)4、设文法G(S):(15分)S→AA→BHH →iBH|εB →CKK →+CK|εC→)A*|(计算每个非终结符的FIRST和FOLLOW;构造LL(1)分析表。

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

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

《编译原理》考试试题及答案(汇总)一、是非题(请在括号内,正确的划√,错误的划×)(每个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.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 编译程序各阶段的工作都涉及到___。

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

云南大学2009至2010学年上学期信息学院计算机科学与工程系计算机科学与技术专业2007级《编译技术》期中考试B卷(闭卷)
满分100分考试时间:120分钟任课教师:周小兵学院:_______专业:______学号:_______姓名:________
一、选择题(本大题共4小题,每小题5分,共20分)
1.词法分析器的任务是从源程序中识别____B____。

A、句子
B、单词
C、字符
D、终结符号
2. 文法S→aSb|ab所产生的语言是什么____C____。

A、(ab)n
B、a n b m
C、a n b n
D、a和b的个数相等的a、b串
3.在源程序中,使用的某个变量没有声明,在编译的____C____阶段会报错。

A、词法分析
B、语法分析
C、语义分析
D、代码生成
4.编译器在___C_____阶段进行表达式的类型检查及类型转换。

A、词法分析
B、语法分析
C、语义分析
D、目标代码生成
二、分析题(本大题共2小题,每小题10分,共20分)
1、一个上下文无关文法生成句子abbaa的推导树如下:
(1)给出句子的最左推导。

(2)该文法的产生式集合P可能有哪些元素?
(3)找出该句子的所有短语、直接短语、句柄。

解答:
(1)句子abbaa最左推导:
S=>ABS=>aBS=>aSBBS=>aBBS=>abBS=>abbS=>abbAa=>abbaa
注:应该用=>(表示推导),而不能用→(表示定义)
(2)产生式集合P可能:
S→ABS |Aa|εA→a B→SBB|b
(3)把abbaa表示成a1b1b2a2a3
短语:a1, a2, ε, b1, b2, b1b2, a2a3 , a1b1b2a2a3
直接短语:a1, a2, ε, b1, b2,
句柄:a1
注:由于有多个a和b,所以应该加上下标以示区别。

2、将正规式r=a(b|c)*转换成相应的正规文法
解答:
令S是文法的开始符号,首先形成S→a(b|c)*,然后形成S→aA和A→(b|c)*,再变换成:
S→aA
A→(b|c)B
A→ε
B→(b|c)B
B→ε
进而变换为全部符合正规文法产生式的形式:
S→aA
A→bB|c B|ε
B→bB|c B|ε
注:也可分开写成7个产生式
三、设计题(本大题共2小题,每小题10分,共20分)
对文法G[A]:
A → aABe|a
B → Bb|d
1. 文法G[A]是LL(1)文法吗?为什么?如果不是,请改写。

2. 改写后的文法是LL(1)文法吗?请给出它的预测分析表。

解答:
1.文法G[S]不是LL(1)文法,因为存在左公因子(A → aABe|a)和左递归(B →
Bb|d)。

2. 改写(即提取左公因子和消除左递归)后的文法如下:
A→a N
N→A B e|ε
B→dN`
N`→bN` |ε
首先计算First集和Follow集
对左部相同的产生式做如下运算:
所以改写后的文法是LL(1)文法。

预测分析表如下:
通过预测分析表中无多重入口也可判定该文法是LL(1)文法。

四、综合题(本大题共5小题,每小题8分,共40分)
已知文法G[S]如下:
S → S; G | G
G → G(T) | H
H → a | (S)
T → T+S | S
请完成下列问题:
1.给出a(T+S);H;(S)的规范推导,并画出语法树。

2.给出1中句型的短语,直接短语,句柄,素短语,最左素短语。

3.计算G[S]的FIRSTVT和LASTVT集合。

4.构造G[S]的算符优先关系表。

5.G[S]是否为算符优先文法?请说明理由。

解答:
1.S => S;G=>S;H=>S;(S)=>S;G;(S)=>S;H;(S)
=>G;H;(S)=>G(T);H;(S)=>G(T+S);H;(S)
=> H(T+S);H;(S)=> a(T+S);H;(S)
2. 短语:a、T+S、a(T+S)、a(T+S);H、H、(S)、a(T+S);H;(S)
直接短语:a、T+S、H、(S)
句柄:a
素短语:a、T+S、(S)
最左素短语:a
4.算符优先关系表如下:
5. 该文法是算符文法,同时任意两个终结符之间的优先关系唯一,所以该文法是算符优先文法。

相关文档
最新文档