- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理考题答案(一二三章)编译原理考题答案(一二三章).doc
能够完成从一种语言到另一种语言的变换的软件称为翻译器
编译器是一种翻译器,他进行语言变换的特点是目标语言比源语言低级
编译的各个阶段:
字符流-词法分析器-记号流-语法分析器-语法树-中间代码生成器-中间表示-独立与机器的代码优化器-中间表示-代码生成器-目标机器代码-依赖于机器的代码优化器-目标机器代码
第二章
语法分析器的任务是把构成源程序的字符流翻译成词法记号流。
2.1词法分析是编译的第一阶段,它的主要任务是扫描输入字符流,产生用于词法分析的词法记号序列。完成的其他任务(实验一)其一是剥去源程序的注解和由空格、制表或换行符等引起的空白,另一任务是把来自编译器各个阶段的错误信息和源程序练习起来。
2.12词法记号的属性 必考 略
2.21 字母表上的串是该字母表符号的有穷序列
术语语言表示字母表上的一个串集,属于该语言的串称为该语言的句子或字。
如果x和y都是串,那么x和y的链接(xy)是吧y加到x后边形成的串。对连接运算而言,空串是一个恒等元素。
表2.2 语言运算的定义 (未打印)
例2.2 略
2.3 语言的识别器是一个程序,它取串x作为输入,当x是语言的句子时,他回答是,否则回答不是。可以通过构造称为优先自动机的更一般的转换图,把正规式翻译成识别器。
有限自动机分为确定的和不确定的两种情况。不确定的含义是:存在这样的状态,对于某个输入符号,它存在不止一种转换。
表2.6 在NFA状态上的运算
运算 描述 E-closure(s) 从NFA的状态s出发,只用E转换能到达的NFA状态集合 E-closure(T) NFA 状态转换集合{s|s属于E-closure(t)并t属于T} Move(T,a) NFA的状态集合{s|s属于move(t,a)并t属于T}(move被拓展成多台函数) NFA转化为DFA 略
DFA 化简略
课后习题:
第三章
3.1 一个上下文无关文法G是一个四元组(Vt,Vn,S,P),其中:
Vt是一个终结符集合,Vn是非终结符集合 Vt并Vn=空集 ,S是一个终结符,称为开始符号,P是产生式的有限集合。
3.1.2代换句型中最左边非终结符的推导,这样的推导叫做最左推导。最右推导,略。
3.14二义性 一个文法如果存在某个句子有不止一颗分析树与之对应,那么称这个文法是二义的。
3.2.5 消除二义性。
二义文法: stmt ( if expr then stmt
| if expr then stmt else stmt (3.5)
| other
非二义文法:
stmt ( matched _stmt
| unmatched_stmt
matched_stmt ( if expr then matched_stmt else matched_stmt
| other (3.7)
unmatched_stmt ( if expr then stmt
| if expr then matched_stmt else unmatched_stmt
3.2.6消除左递归 左递归产生式A(A????,可以用非左递归的
A ( ? A(
A(( ??A(| (
3.2.7 提左因子 如果A (((1 | ((2 原来的产生式成为:A ( ( A( A( ( (1 | (2
3.3.2一个文法的符号串(的开始符号集合FIRST(( )是
FIRST (( )={a | ( (* a…, a ( VT}
特别是,( (* (时,规定( ( FIRST (( )。如果非终结符A的所有选择的开始符号集合两两不相交,即对A的任何两个不同的选择(i 和(j,有
FIRST ((i ) ( FIRST ((j ) = (
非终结符A的后继符号集合FOLLOW(A)是,所有在句型中可以直接出现在A后面的终结符的集合,也就是
FOLLOW (A) = {a | S (* …Aa…,a(VT}
此外,如果A是某个句型的最右符号,那么$属于FOLLOW(A)。
如果有产生式A((B或A((B(且( (*(,那么FOLLOW(A)的一切元素都要加入FOLLOW(B)中。
需要文法的任何两个产生式A ( ( | (都满足下面两个条件:
(1)FIRST(( ) ( FIRST(( ) = (;
(2)若( (* ( ,那么FIRST(( ) ( FOLLOW( A ) = (。
我们把满足这两个条件的文法叫做LL(1)文法,其中的第一个L代表从左向右扫描输入,第二个L表示产生最左推导,1代表在决定分析器的每步动作时向前看一个输入符号。
3.3.4 非递归的预测分析
这个分析器的工作过程如下。
您可能关注的文档
- 绵阳市 2011 年中小学体育课程改革优秀论文评选揭晓绵阳市 2011 年中小学体育课程改革优秀论文评选揭晓.doc
- 绵阳市2014年公需科目考试题绵阳市2014年公需科目考试题.doc
- 绵阳市初中2013级学业考试暨高中阶段学校招生考试模拟一绵阳市初中2013级学业考试暨高中阶段学校招生考试模拟一.doc
- 绵阳市慢病工作人员情况分析绵阳市慢病工作人员情况分析.doc
- 绵阳市教育技术培训考试试题库绵阳市教育技术培训考试试题库.doc
- 绵阳市涪城区教研室2011年总结(定稿2)绵阳市涪城区教研室2011年总结(定稿2).doc
- 绵阳职业技术学院 顶岗实习任务书--09级绵阳职业技术学院 顶岗实习任务书--09级.doc
- 综 合 练 习新M5U1U2语法练习 过去分词作表语、定语和宾语补足语练习题及答案2综 合 练 习新M5U1U2语法练习 过去分词作表语、定语和宾语补足语练习题及答案2.doc
- 综合仓库施工方案综合仓库施工方案.doc
- 综合体育馆建设PPP项目实施方案(编制大纲)综合体育馆建设PPP项目实施方案(编制大纲).doc
文档评论(0)