编译原理C1-汇编.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理 第一章:绪论陈飞fchen@,南区943课程简介及安排我能从这门课学到什么这门课讲什么?课程问题:课程内容面对的科学问题课程内容这门课有什么用?从宏观、高度概括的学科层面从微观、具体应用的实用层面这门课讲什么:课程问题计算机硬件最重要的计算机硬件是什么?最基础的计算机硬件是什么?计算机软件最重要的计算机软件是什么?最基础的计算机软件是什么?编译原理:如何将(使用程序设计语言编写的)源代码,自动、准确、高效地转换为机器代码。这门课讲什么:课程内容要解决的问题是将使用程序设计语言编写的源代码,自动、准确、高效地转换为机器代码。如何解决这个问题,就是课程内容的主线:文法和语言:如何定义一个语言?包括其单词、句子词法分析:如何准确、快速识别出符合定义的单词语法分析:如何准确、快速识别出符合定义的句子语法制导翻译:如何将源代码翻译成机器无关的中间代码优化和目标代码生成符号表这门课有什么用:宏观远大计算学科特点:本质上,任何计算机问题的求解过程,都可转化为语言的转换、翻译问题。现实问题问题描述(书面语言)求解模型(数学语言)计算方法(程设语言)机器指令现状软件需求规约分析设计模型源代码课程特点:综合了计算机理论、程序设计、软件工程等方面的内容,是理论应用于实践的成功典范。没有编译器之前,开发一个大型软件,谁敢先实践再理论?专家说法:编译器原理和技术具有非常普遍的意义,是从事计算机工作所必不可少的。在计算机从业人员的职业生涯中,这些原理和技术都会反复用到。这门课有什么用:微观近前理论方面:计算理论的基础什么是可计算,什么是不可计算?可计算里面,什么是P问题,什么是NP问题?……形式语言与自动机理论思维方面:理解计算机软硬件结合的工作原理培养严谨的计算思维能力实用方面:新型编译器的设计:直接改进、应用算法设计、安全验证:自动机的一些应用文本处理:源代码就是文本,处理文本的技术可通用数据交换:网络上传输的很多数据,序列化之后,就是普通的文本数据这门课怎么学:学习建议有同学说:这门课好难,课本都看不懂也有同学说:这门课不难啊,上课都听得明白这门课,上课听讲很重要,自学并不容易听讲:认真听,注意带纸笔,课堂练习要思考、动手。实验:一定要动手,加深对抽象理论知识的理解贯彻课程内容的核心数据结构:语法树这门课怎么学:教材蒋立源,康慕宁.编译原理.第3版,西北工业大学出版社,2012/1029830898.html这门课怎么学:参考资料Alfredetc.,Compilers:Principle,TechniquesandTools,SecondEdition,人民邮电出版社,2008年。编译原理(第2版),赵建华等译,机械工业出版社,2009年html课程考核平时40%课堂5%、考勤5%实验20%:2个实验,每个10%(D227,第六周开始,双周实验)作业10%:2次,每次5%期末60%大概分布:概论10%、文法20%、词法30%、语法30%、翻译10%绪论:什么是编译程序?程序设计语言的发展低级语言(LowLevelLanguage)机器语言(MachineLanguage)汇编语言(AssembleLanguage)高级语言(HighLevelLanguage)C、C++、Java……更多新型语言不断出现不是先有编译器,再有高级设计语言,例如,现在已经有一些生物方面的程序设计语言DNA计算、染色体计算、蛋白质计算等等这些计算语言,没有对应的编译器支持汇编语言或机器代码符合硬件需求包含机器指令,使用寄存器和没有命名的内存地址对人类来说难理解人难写,机器易执行高级语言编写的源代码符合人类阅读习惯符合人类语法定义使用被命名的结构,例如变量和过程人易写,机器难执行程序设计语言发展产生的问题机器不能理解高级语言需要将高级语言,翻译或解释为低级语言,机器才能理解、执行解释解释程序(Interpreter)源程序输入数据计算结果解释程序翻译翻译程序(Translator)信、达、雅等价、高效翻译程序源程序目标程序编译——特殊的翻译编译程序(Compiler)高级语言程序→(低级)汇编/机器语言程序高级语言编写的源程序低级语言编写的目标程序编译程序编译系统源程序 编译程序 目标程序 输入 运行系统 输出 编译系统(CompilingSystem)=编译程序+运行系统编译系统如何翻译分析(Analysis)综合(Synthesis)典型编译器逻辑结构编译程序的逻辑结构词法分析词法分析器(LexicalAnalyzer)、扫描器(Scanner)析输入:字符串(源程序) 输出:单词(Token)串:有顺序的(类别码,属性值)二元组属性值——token的机内表示功能:从左到右扫描源

文档评论(0)

金不换 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档