编译原理课论文.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理课论文

编译原理课程论文 一、编译原理简介 编译原理是 HYPERLINK /view/3314.htm \t _blank 计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、 HYPERLINK /view/2945009.htm \t _blank 语法制导翻译、中间代码生成、 HYPERLINK /view/1304814.htm \t _blank 存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高 HYPERLINK /view/37.htm \t _blank 软件人员的素质和能力。 二、编译原理的发展历程 在20世纪40年代,由于冯·诺伊曼在存储-程序计算机方面的先锋作用,编写一串代码或程序已成必要,这样计算机就可以执行所需的计算。开始时,这些程序都是用 HYPERLINK /view/111847.htm \t _blank 机器语言(machine language )编写的。 汇编语言大大提高了编程的速度和准确度,人们至今仍在使用着它,在 HYPERLINK /view/237708.htm \t _blank 编码需要极快的 HYPERLINK /view/36819.htm \t _blank 速度和极高的简洁程度时尤为如此。但是,汇编语言也有许多缺点:编写起来也不容易,阅读和理解很难;而且汇编语言的编写严格依赖于特定的机器,所以为一台计算机编写的代码在应用于另一台计算机时必须完全重写。 发展 HYPERLINK /view/146617.htm \t _blank 编程技术的下一个重要步骤就是以一个更类似于 HYPERLINK /view/1284.htm \t _blank 数学定义或自然语言的简洁形式来编写程序的操作,它应与任何机器都无关,而且也可由一个程序翻译为可执行的代码。 分析问题的研究是在20世纪60年代和70年代,它相当完善地解决了这一问题, 现在它已是编译理论的一个标准部分。它们与乔姆斯基的3型文法相对应。对它们的研究与乔姆斯基的研究几乎同时开始,并且引出了表示程序设计语言的单词(或称为记号)的符号方式。人们接着又深化了生成有效的目标代码的方法,这就是最初的编译器,它们被一直使用至今。人们通常将其误称为优化技术 ,但因其从未真正地得到过被优化了的目标代码而仅仅改进了它的有效性,因此实际上应称作代码改进技术 。这些程序最初被称为编译程序-编译器,但更确切地应称为 HYPERLINK /view/973526.htm \t _blank 分析程序生成器 (parser generator ),这是因为它们仅仅能够自动处理编译的一部分。这些程序中最著名的是? HYPERLINK /view/553546.htm \t _blank Yacc? ,它是由Steve Johnson在1975年为Unix系统编写的。 类似地,有穷自动机的研究也发展了另一种称为扫描程序生成器的工具, HYPERLINK /view/1212084.htm \t _blank Lex?是这其中的佼佼者。在20世纪70年代后期和80年代早期,大量的项目都关注于编译器其他部分的生成自动化,这其中就包括代码生成。这些尝试并未取得多少成功,这大概是因为操作太复杂而人们又对其不甚了解。 编译器设计最近的发展包括:首先,编译器包括了更为复杂的算法的 HYPERLINK /view/330120.htm \t _blank 应用程序,它用于推断或简化程序中的信息;这又与更为复杂的程序设计语言(可允许此类分析)的发展结合在一起。其中典型的有用于函数语言编译的Hindle y - Milner类型检查的统一算法。其次,编译器已越来越成为基于窗口的交互开发环境的一部分,它包括了 HYPERLINK /view/499644.htm \t _blank 编辑器、链接程序、调试程序以及项目管理程序。这样的IDE的标准并没有多少, 但是已沿着这一方向对标准的窗口环境进行开发了。 三、编译原理主要内容 该门课中主要讲述的是两种分析方法,即自上而下分析的方法和自下而上分析的方法。自上而下分析法是从文法的开始符号出发,反复使用各种产生式,寻找“匹配”于输入符号串的推导。自下而上的分析方法是从输入符号串开始,逐步进行“归约”到文法的开始符号。 自上而下的分析法主要的就是LL(1)文法,首先要判断某个文法是否是LL(1)文法,如果是就可以按照LL(1)文法分析的方法去判断某一个输入串是否为该文法的句子。LL(1)f分析方法是,首先根据判断是否为LL

文档评论(0)

sb75290 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档