- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理 山东科技大学信息学院 张鹏 zhangpeng@sdkd.net.cn 1. 主要内容 本课程主要内容涉及: 高级程序设计语言 形式语言理论的基本概念 构造编译程序的基本概念、原理和技术 基于形式语言理论有关概念来讨论编译实现问题 即: 编译原理=形式语言理论+编译技术 3.编译程序在计算机系统中的地位 编译系统是一种系统软件。 软件:计算机系统中的程序及其文档。 系统软件:居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。和具体的应用领域无关,如编译系统和操作系统等。 语言处理系统:把软件语言书写的各种源代码处理成可在计算机上执行的程序,如编译系统。 用于编译器的设计 一般的软件设计:文本编辑器、自动排版、模式识别、程序自动验证、程序自动调试、高级语言之间的转换工具、通信协议转换…… 程序格式化工具:使程序呈现清晰的结构(Source insight, Editplus…) 编译原理在反病毒技术中的研究和应用 交叉编译技术:如嵌入式应用 硬件描述语言及其编译技术:如芯片设计 为计算机分析和理解自然语言提供参考 5.课程考核方法 闭卷考试,同时作业完成情况和上机实践的结果占一定的比例。 考试成绩 = 80%考试成绩+考勤和作业 (20%) 6. 教材和参考书 (1)编译原理(第二版),清华大学出版社,张素琴,吕映芝等编著,2005。 (2)陈火旺等,程序设计语言编译原理 (第3版),国防工业出版社,2000 (3)陈意云、张昱,编译原理,高等教育出版社, 2003 (4)编译原理及实践 冯博琴译 机械工业出版社 2000?年?3?月(lex and yacc 介绍,Tiny语言) 编译原理的经典书籍--龙书,虎书,鲸书 龙书(Dragon book)Alfred V.Aho, Ravi Sethi ? Jeffrey D .Ullman , Compilers:Principles, Techniques, and Tools, Addison-Wesly,1986 。 第二版已经出版。 国内教材的主要参考。 英文第一版 Alfred V.Aho 哥伦比亚大学,美国科学与艺术学院及国家工程学院院士,曾获得IEEE的冯·诺伊曼奖。 鲸书(Whale book)Steven S.MuchnickAdvanced Compiler Design and Implementation 高级编译器设计与实现 赵克佳译 机械工业出版社 2005年7月 本书涵盖了现代微处理器编译器的设计和实现方面的所有高级主题。 深入阐述优化问题 虎书(Tiger book)书名是:Modern Compiler Implementation in Java/C++/ML, Second Edition作者是:Andrew W.Appel, with Jens Palsberg 现代编译原理-C语言描述 赵克佳译 人民邮电出版社 2006年4月 书中专门提供了一个用C语言编写的实习项目,包括前端和后端设计,可以在一学期内创建一个功能完整的编译器。 1.1 程序设计语言概述 程序设计语言:用来编写计算机程序的语言。 其他面向特定应用领域的语言 低级语言 在1940年左右,电子数字计算机刚出现,程序设计都是用机器语言(Machine Language) 机器语言:直接用计算机能够识别的二进制代码指令来编写程序的语言。由二进制的指令代码组成。 1 + 3 表示为 00000001属性:最底层的语言,不需要翻译就可以直接被计算机硬件识别。对应不同的计算机硬件有不同的机器语言。 特点:执行速度快,但编写程序的难度大,修改、调试不方便,直观性差,不易移植. 汇编语言:又称为符号语言。与机器语言一一对应,采用能帮助记忆的英文缩写符号(指令助记符)来代替机器语言指令中的操作码,用地址符号来代替地址码。 用指令助记符及地址符号书写的指令称为汇编指令,用汇编指令编写的程序称为汇编语言源程序。 X+Y 表示为 ADD X Y 机器不能直接识别汇编语言程序,必须把它翻译为机器语言程序才能执行。 汇编语言特点 优点:大大提高了编程的速度和准确度,人们至今仍在使用,在编码需要极快的速度和极高的简洁程度时尤为如此。 缺点:编写不容易,阅读和理解困难;严格依赖于特定的机器,为一种计算机编写的代码在应用于另一种计算机时必须完全重写。 低级语言特点(缺点): 低级语言是依赖于具体的计算机硬件的语言,使用起来既繁琐又容易出错,程序不便于阅读和交流,实用性差。 高级语言 高级语言:与具体的计算机硬件无关,是面向问题
文档评论(0)