![编译原理教案326p.ppt_第1页](http://file1.renrendoc.com/fileroot2/2020-1/12/2e91891b-ec2e-4926-bfe3-3e995f2a9063/2e91891b-ec2e-4926-bfe3-3e995f2a90631.gif)
![编译原理教案326p.ppt_第2页](http://file1.renrendoc.com/fileroot2/2020-1/12/2e91891b-ec2e-4926-bfe3-3e995f2a9063/2e91891b-ec2e-4926-bfe3-3e995f2a90632.gif)
![编译原理教案326p.ppt_第3页](http://file1.renrendoc.com/fileroot2/2020-1/12/2e91891b-ec2e-4926-bfe3-3e995f2a9063/2e91891b-ec2e-4926-bfe3-3e995f2a90633.gif)
![编译原理教案326p.ppt_第4页](http://file1.renrendoc.com/fileroot2/2020-1/12/2e91891b-ec2e-4926-bfe3-3e995f2a9063/2e91891b-ec2e-4926-bfe3-3e995f2a90634.gif)
![编译原理教案326p.ppt_第5页](http://file1.renrendoc.com/fileroot2/2020-1/12/2e91891b-ec2e-4926-bfe3-3e995f2a9063/2e91891b-ec2e-4926-bfe3-3e995f2a90635.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编辑原理,编辑原理教学方案,第一章概论,第二章语法和形式语言,第三章自动机,第四章符号表,第五章语法分析,第六章语法和语义分析,编辑原理教学方案,第九章中间语言,第十章优化第11章语法翻译和代码生成,第12章储存组织和分配,第13章程序错误和处理,翻译开设编译原理的目的:系统地向学生说明编译系统的结构、工作流程以及编译程序各个组成部分的设置修订原理和实现技术,使学生通过本课程的学习,掌握编译理论和方法方面,学习的主要内容:程序的检查和处理,语法和形式语言,罗字句分析、语法和语义分析、中间语言、代码生成、优化、记忆组织和分配、第一章概论、第一节编程语言、第二节翻译程序、第一节第五节程序开发、第一
2、章概论、计算机系统构成、硬件:主板、CPU迷硬盘、声卡、光驱(打火机、DVD机)、软盘驱动器(光盘)、软盘驱动器软件:操作系统、光盘整理软件、分区软件、备份软件压缩软件、防病毒软件、输入软件、查看图片的软件、图像处理软件、动画制作软件、网页制作软件、软件及其机器语言程序: 002 0123 00e 1234 009 2103 004 、a、b、c、x四个单元的地址代码分别假定为: 0123、1234、2103、0576,则x:=a/b c,2,修正汇编语言,常用的高级语言: BASIC、ff、3,修正高级语言、汇编语言并取CLA、DIV、SUB、STO这样的符号,与除法、减法、发送对应,上述程
3、序的汇编语言程序: CLA a DIV b SUB c STO x,上述例子用基本语言作为代入语句写成: x=a或半径r的圆面积const pi=3.1416; var s、c、r 3360实际; 贝金读数(r ); s :=pi * sqr (r): c :=2 * pi * r; write (r,s,c) End .1.2编程程序,计算机实现编程语言的方法,第一种方法:翻译程序的方法,第二种方法:解释程序的方法,1. 3源程序执行的道路,1,1,2 三大阶段:编译阶段,执行阶段,汇编阶段,二,解释途径,1,定义:对于源程序的一个句子,将其翻译成相应的机器语言,2,解释执行阶段:1. 4编
4、译器的结构,1,编译器的构成,1,单词和属性词:等单词的属性是指与单词的特征和特性相关的信息。 属性词是指单词的机内表示。 属性词的特征:一是长度统一,二是划线单词的属性。属性词的构成:单词种类别单词属性值,2,编译器的构成:词素分析:主要作用:从左到右扫描源程序,识别单词及其相关属性,转换为属性词。 例如,如果PASCAL语言的代入语句x :=2 * a b,则三元表达式定义为: (op,a1,a2);如果表达式为a b * c/d,则三元表达式为: (1) x :=2 * a b的中间代码格式为: (1) (*,2,a) (2)、 (1),b) (3) (:=,(2)常见的中间代码形式:反
5、波兰表示、三元式、四元式及树形结构等,语义解析:主要任务:根据语法结构分析其语义,用某种中间语言表示,生成中间代码或直接生成目标代码。 错误检查和处理程序:主要任务:错误检查和纠错。 信息表格管理器:主要任务:创建各种目的的表格,并保持专用表格。 一般信息表的注册项目由关键词和相关信息组成。代码优化:主要任务:提高目标程序的质量。 代码生成:主要任务:完成中间代码到目标代码的生成。中间代码生成:常见的中间代码形式:反波兰表示、三维表示、四元表示和树形结构等,例如确定半径r的圆面积和周长的问题,用PASCAL语言写的程序是、program SCR (输入、输出)的程序标头val 说明r、s和c是
6、实变量begin s :=pi * sqr (r )。 修正圆的面积s c :=2 * pi * r。 修正圆的周长的c End .程序结束,(1)词法解析:Program scr (input,output ); var s、c、r 3360实际; begin s :=3. 14 * sqr (r ):c :=2*3. 14 * r End .3,编译器的简单模型,(2)语法分析: (3)语义分析: (1) (*,3.14,r ) (2) (*,(1),(c ),(4)代码优化: (1) (*,3.14,r ) (2) (*,(1),(r) (3) (:=,(2) r) (3) (:=) s
7、) (4) (*,2,(1) ) (5) (:=,(4),c ),单次扫描:源程序,优点:编译速度快,效率高,编译器全长短。 缺点:编译器复杂,内存空间大。 多匝扫描:优点:每匝完成功能明确简单,编译简单,分工容易,节省存储空间。 缺点:编译器全长较长,各回合的作业反复进行,效率低下。 1. 5编译器的开发,一、编译器的开发过程,一、认真的分析、合理的分工,二、算法的设定订正、方案的确定、三、语言的选择、程序的编制、四、程序的调试、质量的确保、五、资料的整理、二、编译器的开发技术:三交叉编译: a机上的编译器生成b机上的目标代码。、自展:首先确定非常简单的核心语言L0,用机器语言或汇编语言写入
8、其编译器T0,将语言L0扩展到L1,此时L0 L1用L0写入L1的编译器T1,进而将语言L1扩展到L2,用L1 L2和L1写入L2的编译器T2,在此、源语言的定义、机器语言的描述、第二章语法和形式语言、第一节符号和符号串、第二节语法和语言、第三节语法树和二义性、第四节语法的实用限制、第五节扩展的BNF表达法、第六节语法和语言分类第七节正则表达式和正则集、第二章语法和形式语言、编程语言的描述、语法:程序的结构意思:语言表示的意思。 语用:语言的实用化。 例如,针对代入语句x :=a b * c的非形式描述是,形式化方法:具有严格规定的符号体系的一系列描述问题的理论和方法。 形式语言:不考虑意义的
9、符号语言。 2.1符号和符号串,1,字母和符号串,1,字母:非空穷集合。 2、符号(文字):字母的要素。 3、符号串:有符号的贫乏序列。 注意:表示空符号串! 4、符号串集合:由字母上的几个符号串组成的集合。 二、符号串的运算,重要约定:小写字母a、b、c、r表示符号,小写字母s、t、u、z表示符号串。 大写字母a、b、c、z表示符号串的集合,2、符号串的长度:将x作为字母上的符号串,将符号串中包含的符号的个数称为符号串x的长度,用x表示。 例: (1). | |=0; (2). | a x |=| x a |=| x | 1 (a ),1,符号串相等:把x、y作为字母上的两个符号串,如果x和
10、y的各符号按顺序相等,那么这两个符号串就相等,表示为x,注意: (1). | x y |=| x | | y |; (2). x=x=x; (3). x y y x (一般而言),5,符号串的前缀,后缀和部分串:将x、y、z作为字母表上的符号串,将x称为符号串x y的前缀,将y称为符号串x y的后缀,6 .符号串集合的乘积: a、b为两个符号串的集合设y B、例: abcdef、例: (1) (2)、8、符号串的平方:设x为字母上的符号串,则x的平方运算为x 0=x 1=x x 2=xx x n=x n-1x (xx n-1 )、9, 符号串集合的平方:如果: x=ab,则为: x 0=,x
11、1=ab,x 2=abab,xn=abab,如果3360,则为A=ab,如果cd,则为: A 0=,a1=。 (2). A=AA*=A*A。 (3) .如果a=a、b,则为: A*=、a、b、aa、ab、ba、bb、aaa、a=a、b、aa、ab、ba。 1、语法和推导,例如规则:33603360=33603360=:3360=the :3360=a :3360=big :3360。 3360-3360=ate 3360-3360=3360-3360=cat 3360-3360=mouse显然,此规则的集合将生成语句3360 the big cat/mouseateamouse/cat、词汇表v :所有规则中,由规则左部和右部的所有符号构成的集合。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育培训机构评估居间合同
- 纺织品交易居间合同协议书
- 2025年度办公室日常保洁与节能照明设备供应服务合同
- 广告投放数据分析合同
- 产品包装设计技术指南
- 安全生产托管协议合同
- 工矿企业产品购销合同
- 厨房承包协议集锦
- 农业质量标准制定指南
- 能源行业能源供应链优化与智能仓储管理
- 保洁班长演讲稿
- 劳务雇佣协议书范本
- JGJ52-2006 普通混凝土用砂、石质量及检验方法标准
- 环境监测的基本知识
- 电动车棚施工方案
- 《中国十大书法家》课件
- 超实用可编辑版中国地图全图及分省地图
- 尿路结石腔内碎石患者围手术期并发尿脓毒症护理专家共识
- 交换机工作原理详解(附原理图)
- 小学总复习非连续性文本教学课件
- 2023年考研考博考博英语福建师范大学考试高频考点参考题库带答案
评论
0/150
提交评论