安徽大学编译原理期中老师给的试卷

合集下载

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

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

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

安徽大学编译原理B-补考

安徽大学编译原理B-补考

安徽大学2012 -2013学年第一学期《编译原理》(B卷)年级院系专业姓名学号座位号(闭卷时间120分钟)一.简答(20分)Array 1.说明编译方式与解释方式的区别2.什么叫文法?乔姆斯基将文法分为哪四类?3.简述DFA M 与NFA M的异同点4.解释语法分析中自底向上分析的一般过程5.解释名字和标志符的异同点文法G[S]:S S(S)S| ,请判断G[S]是否是二义文法,说明理由三、(15分)有语言L={w|w ∈ (0,1)+,并且 w 中至少有两个 1 ,又在任何两个1之间有偶数个 0 },试构造接受该语言的确定有限状态自动机(10分)现有文法GE → E+T | E-T | TT → T*F | T/F | F F → (E) | i其中E 是文法的开始符号,求出句型(F +i )-T*(E-T)的短语,简单短语,句柄和素短语 五、(10分)考虑文法 G[S]:S → (T) | a+S | a T → T,S | S消除文法的左递归及提取公共左因子。

请给对文法G[S]进行改写成LL(1)文法,并给出改写后文法的预测分析表,要求计算出改写后文法各非终极符的FIRST和FOLLOW集合。

S → S*aA | aA| *aAA→ +aA | +a七、(10分)(1)if a<b OR c<d AND e>f then S1 else S2(2) while (A>B) do if (C<D) then X = Y+Z(3)令A是一个10×20的数组,写出赋值语句A[ I+2, J+1 ] =M+N的四元式序列八、(20分)已知文法G为:(0)S′→ S(1)S → aAd(2)S → bAc(3)S → aec(4)S → bed(5) A → e试构造它的LR(1)项目集、可归前缀图和LR(1)分析表。

编译原理试题库.docx

编译原理试题库.docx

精品文档一填空题1.编译程序首先要识别出源程序中每个,然后再分析每个并翻译其意义。

单词,句子2.编译器常用的语法分析方法有和两种。

自底向上,自顶向下2.通常把编译过程分为分析与综合两大阶段。

词法、语法和语义分析是对源程序的分析,中间代码生成、代码优化与目标代码的生成则是对源程序的综合。

前端,后端4.程序设计语言的发展带来了日渐多变的.运行时存储管理方案,主要分为两大类,即方案和分配方案。

静态存储分配,动态存储5.对编译程序而言,输入数据是,输出结果是。

源程序,目标程序6.文法 G 包括四个组成部分:一组终结符号,一组非终结符号,一组,以及一个开始符号。

产生式7.文法按产生式的形式分为四种类型,它们是: 0 型文法,又称短语文法; 1 型文法,又称上下文有关文法; 2 型文法,又称;3 型文法,又称。

上下文无关文法,正规文法8.最右推导称为,由规范推导产生的句型称为规范句型。

规范推导9.设 G 是一个文法, S 是它的开始符号,如果 S=>* α,则称α是一个。

仅由终结符号组成的句型是一个。

句型,句子10 对于一个文法G 而言,如果 L(G) 中存在某个句子对应两棵不同,那么该文法就称为是二义的。

语法树11.通常程序设计语言的单词符号分为五种:基本字、、常数、算符、界限符。

标识符12.在自底向上分析法中,LR 分析法把“可归约串”定义为。

句柄13.编译中常用的中间代码形式有逆波兰式、三元式、和四元式等。

树代码14.对中间代码优化按涉及的范围分为,和全局优化。

局部优化,循环优化15.局部优化主要包括、利用公共子表达式和删除无用赋值等内容。

合并已知量16.为了构造不带回溯的递归下降分析程序,我们通常要消除和提取左递归,左公共因子17.计算机执行用高级语言编写的程序主要有两种途径:和。

解释执行,编译执行18.扫描器是词法分析,它接收输入的,对源程序进行词法分析并识别出一个个,供语法分析器使用。

源程序,单词符号19.自下而上分析法采用,,和等四种操作。

编译原理试题及答案

编译原理试题及答案

编译原理试题及答案
编译原理是计算机科学中的一门重要课程,它涉及到程序设计语言的语法、语义分析以及编译器的设计与实现等内容。

下面我们将为大家提供一些编译原理的试题及答案,希望能够帮助大家更好地理解和掌握这门课程的知识。

1. 什么是编译原理?
编译原理是研究编译器的设计与实现的一门学科,它主要包括词法分析、语法分析、语义分析、中间代码生成、代码优化和代码生成等内容。

2. 什么是词法分析?
词法分析是编译原理中的一个重要内容,它主要负责将源程序转换成一个个的单词符号,也就是词法单元。

3. 什么是语法分析?
语法分析是编译原理中的另一个重要内容,它主要负责将词法单元序列转换成抽象语法树,以便进行后续的语义分析和中间代码生成。

4. 什么是语义分析?
语义分析是编译原理中的一个关键环节,它主要负责对源程序进行语义检查,以确保程序的正确性和合法性。

5. 什么是中间代码生成?
中间代码生成是编译原理中的一个重要环节,它主要负责将源程序转换成一种中间形式的代码,以便进行后续的代码优化和代码生成。

6. 什么是代码优化?
代码优化是编译原理中的一个关键环节,它主要负责对中间代码进行优化,以提高程序的执行效率和减少资源消耗。

7. 什么是代码生成?
代码生成是编译原理中的最后一个环节,它主要负责将优化后的中间代码转换成目标机器代码,以便计算机能够执行。

以上就是关于编译原理的一些试题及答案,希望能够帮助大家更好地理解和掌握这门课程的知识。

如果大家对编译原理还有其他疑问,可以随时向我们提问,我们将竭诚为大家解答。

2012-09安徽大学计科编译原理试题B

2012-09安徽大学计科编译原理试题B

安徽大学20 11 —20 12 学年第二学期《编译原理》考试试卷(B卷)(闭卷时间120分钟)院/系年级专业姓名学号1. 下面关于编译程序的说法不正确的是。

A. 代码优化是其不可缺少的一部分B. 中间代码生成是其不可缺少的C. 含有优化部分的编译程序的效率高D. 编译程序得到的目标程序可执行2.在编译过程中,语法分析器的任务是。

A.分析单词是怎样构成的B.分析单词串是如何构成语句和说明的C.分析语句和说明是如何构成的D.分析程序的结构3. 已知文法L={a n b m| m≥n≥0},则下列文法可以产生L的是。

A.G[S] :S→a S b | S b|εB.G[S] :S→a S b | B B→Bb|εC.G[S] :S→AB A→a A b|εB→Bb|εD.G[S] :S→AB A→a A b|εB→bB|ε4. 描述单词的工具有。

A.正规文法B.正规式C.有限状态自动机D.下推自动机5.下面关于LL(1)文法的说法正确的是。

A.LL(1)文法都是无二义的B. LL(1)文法是LR(1)文法C.LR(1)文法是LL(1)文法D. 无左递归的文法是LL(1)文法6.在算符优先分析方法中归约的是。

A.句柄B. 直接短语C. 最左素短语D.素短语7.在语义分析过程中要完成任务是。

A.静态语义检查B.执行真正的翻译C.检查语义结构D.完成语义计算8.赋值语句 A*(B-C*(C/D))的逆波兰式是。

A.ABC-CD/**B.ABCCD/*-*C.ABC-*CD/*D.ABC-*CB/*9.下列关于存储管理的叙述中,正确的是。

A.栈式存储管理允许过程的递归调用B.栈式存储管理允许使用动态数据C.堆式存储管理允许过程的递归调用D.堆式存储管理允许使用动态数据10.循环优化主要采用的三项优化措施是 。

A.合并已知量 B.代码外提 C.强度削弱 D.删除归纳变量 二、(20分)设NFA M=(Q ,Σ,δ,S,F )如下图所示:,b1.求出与之等价的DFA M ´;(8分)2. 求最小的DFA M (8分)3.求出DFA M ´接受的正规式;(2分)4.写出该自动机接受的语言。

安大编译原理期末习题集(有原题)

安大编译原理期末习题集(有原题)
105 (j,_,_,108)
106 (+, C, 1, C)
107 (j,_,_,112)
108 (j≤,A,D,110)
109 (j,_,_,112)
110 (+, A, 2, A)
111 (j,_,_,108)
112 (j,_,_,100)
113
5.已知文法G[S]为S → aSb|Sb|b,试证明文法G[S]为二义文法。
《编译原理》期末试题(一)
一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分)
1.编译程序是对高级语言程序的解释执行。(×)
2.一个有限状态自动机中,有且仅有一个唯一的终态。(×)
3.一个算符优先文法可能不存在算符优先函数与之对应。(√)
4.语法分析时必须先消除文法中的左递归。(×)
17.一张转换图只包含有限个状态,其中有一个被认为是(初)态;而且实际上至少要有一个(终 )态。
19.语法分析是依据语言的(语法 )规则进行。中间代码产生是依据语言的(语义)规则进行的。
21.一个文法G,若它的预测分析表M不含多重定义,则该文法是(LL(1) 文法)文法。
22.对于数据空间的存贮分配, FORTRAN采用( 静态策略, PASCAL采用( 动态)策略。
C.( )编译方法D.( )以上三项都是
6.四元式之间的联系是通过_____实现的。
A.( )指示器B.( )临时变量
C.( )符号表D.( )程序变量
7.表达式(┐A∨B)∧(C∨D)的逆波兰表示为_____。
A. ( ) ┐AB∨∧CD∨B.( ) A┐B∨CD∨∧
C.( ) AB∨┐CD∨∧D.( ) A┐B∨∧CD∨
8.优化可生成_____的目标代码。

编译原理试题及答案

编译原理试题及答案

编译原理试题及答案
试题:
1. 解释编译原理的定义,同时给出编译器的作用。

2. 简要描述编译过程中的四个基本步骤。

3. 解释词法分析器的功能和作用。

4. 解释语法分析器的功能和作用。

答案:
1. 编译原理是研究如何将高级语言程序转化为等价机器语言程序的一门学科。

编译器是将高级语言文本转换成等价的机器语言的软件工具。

它负责将源代码转化为目标代码,以便计算机能够理解和执行。

2. (1) 词法分析:将源代码分解成一系列单词或标记。

(2) 语法分析:根据语法规则组织单词或标记形成语法树。

(3) 语义分析:分析语法树以检测语义错误。

(4) 代码生成:根据语法树生成目标代码。

3. 词法分析器的功能是将源代码分解成一系列单词或标记。

它将源代码读取为字符流,然后将这些字符组成单词,同时可以去除空格、注释等不具有实际意义的内容。

词法分析器的作用是为语法分析器提供正确的单词序列,为后续的语义分析和代
码生成步骤建立基础。

4. 语法分析器的功能是根据语法规则组织单词或标记形成语法树。

它通过构建语法树来分析源代码的语法结构,同时可以检测语法错误。

语法分析器的作用是为后续的语义分析和代码生成步骤提供一个结构化的表示形式,便于后续的处理和转换。

完整版编译原理试题

完整版编译原理试题

编译原理考试题及答案汇总一、选择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/d6. 一个编译程序中,不仅包含词法分析, _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. 编译过程中 , 语法分析器的任务就是 (1) 分析单词是怎样构成的 (2) (3) 分析语句和说明是如何构成程序的 A .( ) (2)(3) B .( ) (2)(3)(4)C .( ) (1)(2)(3) D .( ) (1)(2)(3)(4) 12. 编译程序是一种 ___C__。

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