博视网-免费教育视频 博视网-免费教育视频

当前位置:首页  »  公开课  »  中国大学公开课 » 《编译原理》西安交大视频课程

《编译原理》西安交大视频课程

课程标题:《编译原理》西安交大视频课程

课程分类: 中国大学公开课

关键词TAG:西安交通大学 冯博琴 编译原理 

课程主播: 西安交通大学 冯博琴 

播放次数:加载中...

分享到: 更多

课程来源:优酷-点击立即播放

(无需安装任何插件,即可快速播放)
  • 陈意云-编译原理和技术-2011-03-30-11-26-36
  • 陈意云-编译原理和技术-2011-03-30-09-45-57
  • 陈意云-编译原理和技术-2011-03-28-08-43-58
  • 陈意云-编译原理和技术-2011-03-28-07-50-53
  • 陈意云-编译原理和技术-2011-03-30-10-35-54
  • 陈意云-编译原理和技术-2011-03-23-11-29-30
  • 陈意云-编译原理和技术-2011-03-23-10-42-14
  • 陈意云-编译原理和技术-2011-03-23-09-45-55
  • 陈意云-编译原理和技术-2011-03-21-08-40-59
  • 陈意云-编译原理和技术-2011-03-21-07-51-07
  • 陈意云-编译原理和技术-2011-03-16-11-26-49
  • 陈意云-编译原理和技术-2011-03-16-10-36-00
  • 陈意云-编译原理和技术-2011-03-14-08-41-01
  • 陈意云-编译原理和技术-2011-03-14-07-50-55
  • 陈意云-编译原理和技术-2011-03-09-11-25-52
  • 陈意云-编译原理和技术-2011-03-09-09-45-52
  • 陈意云-编译原理和技术-2011-03-16-09-46-01
  • 陈意云-编译原理和技术-2011-03-07-08-41-15
  • 陈意云-编译原理和技术-2011-03-09-10-35-58
  • 陈意云-编译原理和技术-2011-03-07-07-50-56
  • 陈意云-编译原理和技术-2011-03-02-11-25-58
  • 陈意云-编译原理和技术-2011-03-02-10-35-55
  • 陈意云-编译原理和技术-2011-03-02-09-45-56
  • 陈意云-编译原理和技术-2011-02-28-08-40-53
  • 陈意云-编译原理和技术-2011-02-28-07-50-53
  • 陈意云-编译原理和技术-2011-02-23-10-36-10
  • 陈意云-编译原理和技术-2011-02-23-09-45-51
  • 陈意云-编译原理和技术-2011-02-21-08-41-20
  • 陈意云-编译原理和技术-2011-02-23-11-25-54
  • 陈意云-编译原理和技术-2011-02-21-07-50-55
  • 陈意云-编译原理和技术-2011-05-11-10-35-56
  • 陈意云-编译原理和技术-2011-05-11-09-45-57
  • 陈意云-编译原理和技术-2011-05-09-08-40-45
  • 陈意云-编译原理和技术-2011-05-09-07-51-21
  • 陈意云-编译原理和技术-2011-05-04-10-36-11
  • 陈意云-编译原理和技术-2011-05-04-09-45-41
  • 陈意云-编译原理和技术-2011-04-27-10-35-49
  • 陈意云-编译原理和技术-2011-04-27-09-45-59
  • 陈意云-编译原理和技术-2011-04-25-08-40-55
  • 陈意云-编译原理和技术-2011-04-25-07-50-52
  • 陈意云-编译原理和技术-2011-04-20-10-36-24
  • 陈意云-编译原理和技术-2011-04-20-09-46-04
  • 陈意云-编译原理和技术-2011-04-18-08-42-18
  • 陈意云-编译原理和技术-2011-04-18-07-51-01
  • 陈意云-编译原理和技术-2011-04-13-10-35-55
  • 陈意云-编译原理和技术-2011-04-13-09-46-02
  • 陈意云-编译原理和技术-2011-04-11-08-40-58
  • 陈意云-编译原理和技术-2011-04-11-07-53-47
  • 陈意云-编译原理和技术-2011-04-06-10-36-03
  • 陈意云-编译原理和技术-2011-04-06-09-46-10
  • 《编译原理》西安交大视频课程-课程简介

    《编译原理》西安交通大学-冯博琴
         编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。 目前各个大学使用的教材机械工业出版社、国防工业出版社出版的《编译原理》。
    在20世纪40年代,由于冯·诺伊曼在存储-程序计算机方面的先锋作用,编写一串代码或程序已成必要,这 编译原理实验程序
    样计算机就可以执行所需的计算。开始时,这些程序都是用机器语言 (machine language )编写的。机器语言就是表示机器实际操作的数字代码,例如:   C7 06 0000 0002 表示在IBM PC 上使用的Intel 8x86处理器将数字2移至地址0 0 0 0 (16进制)的指令。   但编写这样的代码是十分费时和乏味的,这种代码形式很快就被汇编语言(assembly language )代替了。在汇编语言中,都是以符号形式给出指令和存储地址的。例如,汇编语言指令 MOV X,2 就与前面的机器指令等价(假设符号存储地址X是0 0 0 0 )。汇编程序(assembler )将汇编语言的符号代码和存储地址翻译成与机器语言相对应的数字代码。   汇编语言大大提高了编程的速度和准确度,人们至今仍在使用着它,在编码需要极快的速度和极高的简洁程度时尤为如此。但是,汇编语言也有许多缺点:编写起来也不容易,阅读和理解很难;而且汇编语言的编写严格依赖于特定的机器,所以为一台计算机编写的代码在应用于另一台计算机时必须完全重写。   发展编程技术的下一个重要步骤就是以一个更类似于数学定义或自然语言的简洁形式来编写程序的操作,它应与任何机器都无关,而且也可由一个程序翻译为可执行的代码。例如,前面的汇编语言代码可以写成一个简洁的与机器无关的形式 x = 2。   在1954年至1957年期间,IBM的John Backus带领的一个研究小组对FORTRAN语言及其编译器的开发,使得上面的担忧不必要了。但是,由于当时处理中所涉及到的大多数程序设计语言的翻译并不为人所掌握,所以这个项目的成功也伴随着巨大的辛劳。几乎与此同时,人们也在开发着第一个编译器, Noam Chomsky 开始了他的自然语言结构的研究。他的发现最终使得编译器结构异常简单,甚至还带有了一些自动化。Chosmky的研究导致了根据语言文法(grammar ,指定其结构的规则)的难易程度以及识别它们所需的算法来为语言分类。正如现在所称的-与乔姆斯基分类结构(Chomsky hierarchy )一样-包括了文法的4个层次:0型、1型、2型和3型文法,且其中的每一个都是其前者的专门化。2型(或上下文无关文法(context-free grammar ))被证明是程序设计语言中最有用的,而且今天它已代表着程序设计语言结构的标准方式。   分析问题( parsing problem ,用于限定上下文无关语言的识别的有效算法)的研究是在20世纪60年代和70年代,它相当完善地解决了这一问题, 现在它已是编译理论的一个标准部分。它们与乔姆斯基的3型文法相对应。对它们的研究与乔姆斯基的研究几乎同时开始,并且引出了表示程序设计语言的单词(或称为记号)的符号方式。   人们接着又深化了生成有效的目标代码的方法,这就是最初的编译器,它们被一直使用至今。人们通常将其误称为优化技术(optimization technique ),但因其从未真正地得到过被优化了的目标代码而仅仅改进了它的有效性,因此实际上应称作代码改进技术(code improvement technique )。   这些程序最初被称为编译程序-编译器,但更确切地应称为分析程序生成器 (parser generator ),这是因为它们仅仅能够自动处理编译的一部分。这些程序中最著名的是 Yacc (yet another compiler- compiler),它是由Steve Johnson在1975年为Unix系统编写的。   类似地,有穷自动机的研究也发展了另一种称为扫描程序生成器 (scanner generator )的工具,Lex (与Yacc同时,由Mike Lesk为Unix系统开发的)是这其中的佼佼者。在20世纪70年代后期和80年代早期,大量的项目都关注于编译器其他部分的生成自动化,这其中就包括代码生成。这些尝试并未取得多少成功,这大概是因为操作太复杂而人们又对其不甚了解。   编译器设计最近的发展包括:首先,编译器包括了更为复杂的算法的应用程序,它用于推断或简化程序中的信息;这又与更为复杂的程序设计语言(可允许此类分析)的发展结合在一起。其中典型的有用于函数语言编译的Hindle y - Milner类型检查的统一算法。   其次,编译器已越来越成为基于窗口的交互开发环境(interactive development environment,IDE )的一部 分,它包括了编辑器、链接程序、调试程序以及项目管理程序。这样的IDE的标准并没有多少, 但是已沿着这一方向对标准的窗口环境进行开发了。

    《编译原理》西安交大视频课程-课程评论

    评论加载中...
    版权说明:本站视频来源于网友收集各大视频网站资源,只用于学习之用。如有侵权请联系我们管理员。信箱:boswnet@126.com博视网教育视频博视网  |