|
以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 计算机考研交流 』 (http://bbs.xml.org.cn/list.asp?boardid=67) ---- 陈火旺编译原理复习重点及复习思路总结 (http://bbs.xml.org.cn/dispbbs.asp?boardid=67&rootid=&id=54553) |
|
-- 作者:xieshoucheng -- 发布时间:10/29/2007 9:59:00 AM -- 陈火旺编译原理复习重点及复习思路总结 前言: 作为考研课程中最难的科目,编译原理的复习一直以来困扰着无数的计算机考研者,特别是本科期间没有认真学习这门课程或者专业外的人士。由sodme写作的这一系列文章将主要以陈火旺院士的编译原理教材为主线,对编译原理的复习重点和复习思路进行归纳和总结,以帮助大多数朋友尽快入门。由于绝大多数的本科编译教材,都是在围绕着原理性方面的知识进行介绍和展开,所以,本总结也适合于使用其它教材的朋友。anyway,希望使用各种不同教材的朋友都能从中受益并有所感悟。 |
|
-- 作者:xieshoucheng -- 发布时间:10/29/2007 10:00:00 AM -- 一、编译原理的章节结构及重点构成 第1章 引论:本章属非重点章节,简单介绍了编译的基本知识。出题分值不会太多,如果出题(很多情况是不出题,^_^),其分值比例一般情况下不会超过5%. |
|
-- 作者:xieshoucheng -- 发布时间:10/29/2007 10:10:00 AM -- 关于重要性标识的几点说明: “必考内容”:是针对于多校学校一般的出题规律而言,本章极易被考到。或者说,作为一个完整的试卷,本章是应该被考查的,这是放在多个学校都比较适合的规律,也就是说本章是不同的学校共同关注的章节。 “常考内容”:虽然本章内容重要,但是,各校根据自己的考查方式,可能选择考,也可能不选择考查这一章,这样的章节常常作为对必考章节的配合和补充,以完善和形成一张完整的试卷。这些章节要求读者自己对所报院校的历年试题进行归纳和分析,从中找出哪些是是这一次比较容易考查到的。 注:关于分值比例的统计样本来自于国防科大,中科院,上海交大,哈工大,清华等多所学校的历年试题。 |
|
-- 作者:xieshoucheng -- 发布时间:10/29/2007 10:11:00 AM -- 二、编译原理各章节重点难点归纳 第1章 引论: 本章作为编译原理的开启章节,其意义在于为原本对编译一无所知的朋友撩开一条细缝,让你从本章大致了解编译程序工作的原理。所以,本章的考点都是象征性的。需要读者掌握的是:清楚编译程序的总框架,了解编译程序工作的大致过程,能分辨清楚编译前端与后端的区别及其相互配合的方法,要清楚编译程序是如何生成的。请大家记忆并理解以下概念: 编译程序,解释程序,翻译程序,扫描器,分析器,编译前端与后端,符号表,“遍”的概念等。说让大家记忆并理解以上概念,并不是要大家原原本本地记住书上的解释,而是让大家达到这样的一种程度:知道这些概念的含义,并且能够按照自己的语言对其进行准确描述。一般而言,当你真正理解了一个概念之后,你是有能力对其进行精辟描述的。针对于本章的考点,多数是考查这些小概念,比如国防科大就曾经考过“扫描器”等概念。In a word,理解第一。 第2章 高级语言及其语法描述: 对于本章,读者应该掌握: 1.上下文无关文法的定义,判断和转化,以及与上下文无关文法密切相关的概念。 2.乔姆斯基的文法分类。 那么,我们在判断一个文法时应该以什么规则来判断呢?这个规则当然是:3->2->1->0.也就是说,我们判断是从高到低来判断的,比如:一旦判断其属于正规文法之后就没必要再判断其是否属于上下文无关的了(因为它必定属于上下文无关,我们应该以最高规则来判定其属于的文法类型),其它情况与此类推。只有当我们判断不属于3型文法时,我们才向下判断,其是不是属于2型的,若不属于2型的,则依此类推再向下判断。最终的结果如果不属于3,2和1三种类型,那就只有属于0型了。 “给定一个文法,要求判断其属于何种文法”是一个重要考点,其出题形式可能是填空,选择等多种题型。 第3章 词法分析: 前两章为研究编译技术作了一些概念和技术上的先期铺垫,在本章的词法分析内容里将开始介绍编译技术的第一个重要技术点:词法分析。 本章最为重要的内容是3.3节:正规式和有限自动机,对于词法分析一章的考点,可以说80%到90%以上集中在这一节的内容上。针对于这一节的知识点介绍和考点分析,我们将稍后给出,现在先来看一下学习3.3节所必须先知道和理解的基本概念: a.词法分析器的功能(或称词法分析的任务):输入的是源程序,输出的是分析完成的单词符号; 对于考点a,有些学校会作为选择、判断或填空题进行考查,而对于考点b,多数是与有限自动机一些考查,要求给出以“状态图”表示的确定有限自动机,也有的学校的试题中,是要求直接给出针对于某正规式的状态转换图,比如中科院曾经考到:已知某系统下的设备文件名的定义方式(以正规式给出),要求给出符合这种定义的状态转换图。理解状态转换图的含义是进行本章学习的重要前提,大家记住一句话:状态转换图,就是一张当输入不同的内容时,选择不同分析路径的有向图。 下面,我们重点看一下有关“正规式与有限自动机”这一考点的各种可能考查形式: 这些考点,综合起来看,是在正规式,正规集,NFA和DFA之间作各种可能的转换,当然这种转换正确与否的判断标准就是转换之后的内容是不是与转换之前的内容等价,如果等价,我们就认为转换是正确的。 在考点e这类的转换题目中,有一些是需要另外规纳出来的,他们在某一方面具有共同的特征,如果掌握了其中一题,将可举一反三解出其它题。比如有以下的几种题目就可以作以总结: 以上三种类型的考题,在每一种类型中,都是有规律可循的,也都有简便的方法可以帮助我们快速求解其正规式,进而快速确定DFA及最简DFA。针对于这三种类型的解题思路分析,我会在另外的文章中给出。 第4章 语法分析-自上而下的分析: 大家在参阅编译原理的这个重点归纳贴子时,可能会感觉与数据结构规纳贴子风格不太一致,在编译的总结里,我较多地讲解了书上的一些我认为是较难理解的内容,而不仅仅是给出考点。因为从我接触的网友反映的情况看来,大家对编译还是比较头疼的,所以,我希望通过这样的规纳同时帮助大家从另外一个角度或以另外一种思维来看待编译原理课程。 当词法分析器对源程序进行了词法分析,获得了一个个独立的单词符号后,编译程序总控模块就会调用语法分析子程序对这些单词符号集进行语法分析,也就是:利用该文法的产生式来判断这些单词符号是否足以构成一个在语法上正确的程序。如果可以构成一个在语法上正确的程序,则接着作编译下面的工作,比如:语法制导翻译,中间代码生成、代码优化等工作;而如果不能构成一个在语法上正确的程序,则给出相应的错误提示并将错误信息记入对应的数据记录中。 语法分析的规则主要基于两种:自上而下分析和自下而上分析。这一章,主要讲解自上而下的分析方法。自上而下分析的大致思路是:根据产生式规则,从产生式的开始符号进行推导,一直推导到可以产生当前要判断的这个句子为止。如果推导了所有可能情况,但没有推出这样的句子,那么这个句子就是不符合该语言的语法规则的(产生式即定义了语言的语法规则)。 在陈火旺老师的编译教材上,详细描述了一种自上而下的分析方法:LL(1)分析法,陈老教材的这一章也是围绕这一点而展开的。下面,我们介绍一下本章的主要常考知识点及考查角度: 下一次,我们会详细讲解LR分析,敬请期待。如果网友对讲解有什么意见或建议,也欢迎跟贴指出,谢谢大家。 后续内容: |
|
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
42.969ms |