下载此文档

编译原理考题作业题.doc


文档分类:高等教育 | 页数:约42页 举报非法文档有奖
1/42
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/42 下载此文档
文档列表 文档介绍
课程测试试题(A卷)I、命题院(部):数学与计算机科学学院II、课程名称:编译原理III、测试学期:2006-2007学年度第1学期IV、测试对象:数计、国交学院计科专业2004级1、2、国交班V、问卷页数(A4):3页VI、答卷页数(A4):4页VII、考试方式:闭卷(开卷、闭卷或课程小论文,请填写清楚)VIII、问卷内容:(请老师在出题时安排紧凑,填空题象征性的留出一点空格,学生将所有的答案做在答题纸上的规定位置,并写清楚大题、小题的题号)一、填空题(共30分,30个空,每空1分)1、典型高级程序设计语言编译系统的工作过程一般分为六个阶段,即词法分析、语法分析、语义分析、中间代码生成、、目标代码生成。编译阶段的两种组合方式是组合法和按遍组合法,这两种组合方式的主要参考因素都是的特征。 2、Chomsky将文法按其所表示语言的表达能力,由高往低分为四类:0型,1型,2型,3型文法。其中,2型文法也称,它的所有规则α→β都满足:α∈,β∈((VN∪VT)*且,仅当β=ε时例外。 3、现代编译系统多采用方法,即在语法分析过程中根据各个规则所相联的或所对应的语义子程序进行翻译的办法。该方法使用为工具来说明程序设计语言的语义。 4、构造与NFAM等价的正规文法G的方法如下:(1)对转换函数f(A,a)=B或f(A,ε)=B,改成形如或的产生式;(2)对可识别终态Z,增加一个产生式:。 5、代码生成要考虑的主要问题:充分利用的问题、选择的问题、选择的问题。 6、设有穷自动机M=(K,S,f,S,Z),若当M为时,满足z0∈f(S,α)且z0∈Z,或当M为时,满足f(S,α)=P∈Z,则称符号串α∈S*可被M所。 7、符号表中每一项对应一个多元组。符号表项的组织可分为组织、组织、组织等。 8、对于A∈"VN定义A的后续符号集:FOLLOW(A)={a|S=*>uAβ,a∈VT,且a∈,u∈VT*,β∈V+;若,则#∈FOLLOW(A)。也可以定义为:FOLLOW(A)={a|S=*>…Aa…,a∈VT}。若有,则规定#∈FOLLOW(A)。 9、基本块的定义:一个基本块是指程序中一个执行的语句序列,其中只有一个入口和一个出口。入口是程序第一个语句或转移语句的目标语句,或转移语句的后继第一个语句。出口是程序或转移语句。在基本块范围内的优化称为。 10、预测分析器由预测分析表、先进后出栈(用来存放分析过程的语法符号)和三部分组成。其中预测分析表是一个二维矩阵,其形式为M[A,a],其中A∈VN,a∈VT或#。若有产生式A→α,使得a∈,则将A→α填入M[A,a]中。(书写时,通常省略规则左部,只填→α)。对所有的M[A,a]标记为出错。二、简述题(共20分,4个小题,每小题5分) 1、简述将NFA转换为最小化DFA的步骤。 2、简述静态存储分配、栈式存储分配和堆式存储分配的特点和主要用途。 3、以表达式a:=b*(-c)+b/(-d)为例,简述常用的三种中间代码表示形式。 4、简述判别文法G是否为LL(1)文法的步骤和将一个非LL(1)文法转换为LL(1)文法的方法。三、应用题(共50分) 1、有文法G[S]:(12分) S→aAS|a A→SbA|SS|ba (1)证明aabbaa是文法的一个句子。(3分) (2)构造句子aabbaa的语法树。(3分) (3)指出该句子的所有短语、直接短语和句柄。(6分) 2、对文法G[E']:(15分) E'→#E# E→E+T|T T→T*F|F F→P^F|P P→(E)|i (1)计算G[E']的FIRSTVT和LASTVT。(5分) (2)构造G[E']的算符优先关系表,并说明G[E']是否为算符优先文法。(5分) (3)给出输入串w=i+i#的算符优先分析过程。(5分) 3、对以下基本块:(8分) A:=5 B:=R+r T0:=A+B T1:=2*A T2:=B+A T3:=A+A X1:=T1+T2 X2:=T0*T3 (1)画出基本块的DAG图。(3分) (2)根据DAG结点原来的构造顺序重写四元式。(2分) (3)假设基本块出口后只有X1,X2还被引用,试写出优化后的四元式序列。(3分) 4、对文法G[S’]:(15分) 0)S’→S 1)S→A 2)S→B 3)A→aAe 4)A→a 5)B→bBd 6)B→b (1)试构造G[S’]的LR(0)项目集规范族DFA。(4分) (2)试构造G[S’]的SLR(1)分析表,并判断它是否为SLR(1)文法。(4分) (3)试用SLR(1)方法分析输入串aae#。(4分) (4)G[S’]是否为LR(0)、LR(1)和LALR(1)文法?为什么?(3分)编译原理课程测试试卷评分标准(数计学院04计科A卷)一、填空题参考答案(共30分,30个空

编译原理考题作业题 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数42
  • 收藏数0 收藏
  • 顶次数0
  • 上传人phl0420371
  • 文件大小705 KB
  • 时间2019-03-02