- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[编译原理
《编译原理》复习题
题型: 选择题 简述题 计算题 综合(证明)题
第一章 引论
运行编译程序的计算机称为?而运行目标程序的计算机称为?
宿主机;目标机
何谓编译程序?编译程序的输入是?输出是?
编译程序:把某一种高级语言程序等价地转换成另一种低级语言程序(如汇编语言或机器语言程序)的程序;
输入:源程序;
输出:目标程序;
3、请说明编译程序的逻辑结构。即,画出其逻辑结构图。
4、编译程序的“前端”主要由与源语言有关但与(目标机器)无关的哪些部分组成?
编译前端:与源语言有关,如词法分析,语法分析,语义分析与中间代码产生,与机器无关的优化
5、编译程序的“后端”主要由与(源语言)无关但与(目标机器)相关的哪些部分组成?
编译后端:与目标机有关,与目标机有关的优化,目标代码产生
要在某种机器上为某程序语言构造编译程序,必须掌握那几方面的内容?
构造编译程序的前提:
1掌握源语言;2掌握目标语言;3掌握编译方法
7、编译程序的生成方法有哪些?
方法:1高级语言书写;2移植方法;3自编译方式
第二章 高级语言及语法描述
1、简述语言的定义,并写出文法G定义的语言的集合表示。
语言由语法跟语义(语用)定义;
2、给定文法G,如何写出由G生成的语言的集合表示?
(1、2题结合看,并看不懂他问什么ORZ)
语法规则用来描述什么?(语言的形式结构)
语法规则定义了程序的形式结构
4、程序设计语言的语法规则描述方法是什么?
语法规则描述方法:上下文无关文法
5、上下文无关文法由哪几部分组成?其中的终结符号、非终结符号
6、怎样进行句子的最左推导
7、以形式语言的文法规则手段,描述指定语言方法
这不是一个祈使句吗,问题在哪
(╯‵□′)╯︵┻━┻
8、怎样画出给定句子的分析树当识别到字母开头的字母数字串时,先查关键字表。若查不到则为标识符,查到则为关键字。
自动机理论在词法分析的器构造中有何应用意义?
自动机理论中一个重要的结论:判定两个自动机等价性的算法是存在的。
第四-五章 语法分析
语法分析的任务是什么?简述语法分析器的功能。
语法分析的任务是分析一个文法的句子结构。
语法分析器的功能:按照文法的产生式(语言的语法规则),识别输入符号串是否为一个句子(合式程序)。
从形式语言的应用来说,程序语言的语法规则通常用什么文法描述?
用上下文无关文法描述语法规则
语法分析方法分为哪两大类方法?这种分类的依据是什么?
自下而上分析法(Bottom-up)与自上而下分析法(Top-down);
依据:语言分析树的建立方法。
在语法分析的两大类分析方法中,递归下降分析法属于哪类分析方法? LR分析法属于哪类分析方法?
递归下降分析法属于自上而下分析方法;LR分析法属于自下而上分析方法
语法分析方法分为自顶向下和自下而上两大类分析方法,你了解有哪些语法分析方法?
自上而下:LL(1)分析法、递归下降分析法
自下而上:算符优先分析法、LR分析法
已知文法G(S),如何指出它的句子(句型)的短语、直接短语和句柄?
语法分析过程中的“符号”对程序语言来说指的是什么?
如果采用自下而上分析方法,语法分析过程的实质是什么?逻辑输出是什么?
实质:移进-归约;
逻辑输出:开始符号S
如何判定给定文法是LL(1)文法?G(S)是LL(1)文法的充要条件是什么?
判定:
1)从左向右扫描输入符号串
2)第二个 L 表示生成最左推导
3)读入一个符号可确定下一步推导
条件:
1)文法 G 不含左递归
2)对于 G 的每个非终结符 A 的
任何两个不同的产生式 A → α|β
FIRST( α ) ∩ FIRST( β ) = φ
3)对于 G 的每个非终结符A ,如果它的某个
候选β ==* ε,则
FISRT( A ) ∩ FOLLOW( A ) = φ
简述预测分析器的逻辑结构。即,从逻辑结构上说,预测分析器由哪几部分组成?
1)总控程序
2)分析表 M[A,a]矩阵
3)分析栈 STACK
11、采用LL(1)分析方法的先决条件是什么?如何构造LL(1)文法的预测分析表?
先决条件:消除文法的左递归性;克服回溯。
构造方法:
1)构造FIRST(α)和FOLLOW(A);
2)构造分析表M[A,a]:
1. 对文法G的每个产生式A→α执行第2步和第3步;
2. 对每个终结符a∈FIRST(α),把A→α加至M[A, a]中;
3. 若ε∈FIRST(α),则对任何b∈FOLLOW(A)把A→?加至M[A, b]中。
4. 把所有无定义的M[A, a]标上“出错标志”。
12、已知文法G(S),如何给出句子(句型)的“移进—归约”过程,画出语法树?
移进归约过程:用一个寄存符号的先进后出栈
文档评论(0)