网站大量收购闲置独家精品文档,联系QQ:2885784924

《张小艳编译原理1.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理 《编译原理》是一门非常好的课程 主讲教师:张小艳 Email:zhangxy@xust.edu.cn QQ:1161880978 主要内容 编译概述(总体结构、设计方法—2 ) 语言与文法(文法、推导、归约、分类、分析树—4) 词法分析(词法分析、正规式与正规文法、DFA的状态转移图—6) 语法分析(自顶向下、递归子程序;自底向上:算符优先、LR--16) 语义分析(属性文法、各种语句的语法制导翻译—10) 运行环境(存储分配、过程调用、符号表管理—6) 代码优化(基本块的优化、控制流分析、循环优化、数据流分析—2) 代码生成(目标机器模型、基本块和流图、寄存器分配…—2) 教材及参考书 南京市长江大桥欢迎您! 乒乓球拍买完了 I am a student 我是一个学生 int LocatList (SeqList *L , datatype x) { int i=0; while ( i=L-last L-elem[i]!= x) i++; if (iL-last) return -1; else return i; /*返回的是存储位置*/ } 第一章 绪论 1.1 计算机语言的发展 机器语言(Machine Language)与汇编语言(Assemble Language) 0、1代码与助记符:更接近于计算机硬件指令系统的工作 高级语言(High Level Language) 其表示方法更接近于待解问题的表示方法 定义数据、描述运算、控制流程、传输数据 如:C、FORTRAN、PASCAL、C++、JAVA、SQL(数据定义、数据操作) 命令语言(Command Language) 控制系统的工作——以功能封装为特征 如UNIX上的shell 3 其他面向特定应用领域的语言 1.2 语言之间的翻译 1.5 编译器的编写 思考题   ① 为什么需要编译程序?   ② 用源程序片段   if (a=b+1)    {b = a * a ;    … }…   为例,考虑编译过程中它可能的不同表示形式来理解编译各阶段的工作。   ③ 比较你所使用过的一些语言的编译程序:他们的编译速度,出错信息的可读性,有无优化选择等等。 id1∶=id2+id3*10 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 语法分析所依据的是语言的语法规则,即描述程序结构的规则。通过语法分析确定整个输入串是否构成一个语法上正确的程序。程序的结构通常是由递归规则表示的,例如,我们可以用下面的规则来定义表达式:  (1) 任何标识符是表达式。  (2) 任何常数(整常数、实常数)是表达式。  (3) 若表达式1和表达式2都是表达式,那么:表达式1+表达式2以及表达式1 * 表达式2都是表达式。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 类似地,语句也可以递归地定义,如  (1) 标识符∶=表达式是语句。  (2) while(表达式)do语句和 if(表达式 )then语句 else语句都是语句。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 词法分析和语法分析本质上都是对源程序的结构进行分析。但词法分析的任务仅对源程序进行线性扫描即可完成,比如识别标识符,因为标识符的结构是字母打头的字母和数字串,这只要顺序扫描输入流,遇到既不是字母又不是数字字符时,将前面所发现的所有字母和数字组合在一起而构成单词标识符。但这种线性扫描则不能用于识别递归定义的语法成分,比如就无法仅用线性扫描去匹配表达式中的括号。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 语义分析   语义分析阶段的任务是审查源程序有无语义错误。源程序中有些语法成分,按照语法规则去判断,它是正确的,但它

文档评论(0)

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

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

1亿VIP精品文档

相关文档