




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,编译原理,2,一什么是编译程序?,计算机经过几十年的发展,在程序设计语言方面,已经从低级语言发展到高级语言;然而,计算机内部的本质只能识别0,1代码序列(机器语言),而对高级语言甚至符号语言仍然一窍不通。因此用高级语言编写的程序,必须先翻译为机器语言,才能被计算机理解执行。第一个完成这种翻译任务的编译程序为FORTRAN编译程序,是上世纪五十年代设计的.,第一章引论,第一节、编译程序概述,3,定义:设源语言为L1,目标语言为L2,翻译程序是一个程序,它能将L1转换为逻辑上等价的L2。若L1为高级语言,L2为低级语言或机器语言,称这种翻译程序为编译程序。若L1为低级语言,L2为机器语言,称这种翻译程序为汇编程序。解释程序是指逐条翻译L1的语句,并立即执行翻译出的目标代码序列。编译原理就是介绍编译程序的一般规律及设计方法的一门课程。,高级语言程序,机器语言程序,翻译为,4,二编译过程概述编译程序从接受源程序到输出目标代码的整个过程,可逻辑的分为5个阶段,词法分析语法分析中间代码生成代码优化目标代码生成1)词法分析:把源程序作为字符串进行扫描,根据单词词法,识别出所有单词,过滤无用符,并检查是否为合法的单词。单词一般分为如下几种:基本字,标识符,常数,算符,界符,5,例如:ifn循环控制语句whiledo;for:=todo;repeat;.until7子程序调用函数调用一般出现在表达式中,形式如下:(实际参数)过程调用一般作为语句,形式如下:(实际参数);,25,8输入输出语句read();write();9简单句和复合句简单句是指不包含其它语句的基本语句,复合句是指句中有句.例如:V:=E,gotoL,read(a,b)等都是简单句;ifBthenSelseS,whileBdoS等都是复合句.,26,五子程序参数传递当调用一个子程序时,首先应将所需的数据传递给子程序,传递方式主要有三种:传值,传地址,传名设有如下函数:functiondistence(x1,y1,x2,y2):real;begindistence:=sqrt(x2-x1)*2+(y2-y1)*2)end;x1,y1,x2,y2称为形式参数设主程序调用如下:d=distence(a1,b1,a2,b2);a1,b1,a2,b2称为实际参数.,27,1传值调用程序把实际参数的值传递到形式参数的空间中.,这种方式,子程序一般不改变实际参数的值.,28,这种方式,子程序间接访问主程序实际参数的值,改变了实际参数的值.,29,3传名传名是一种宏替换,直接在调用处产生一个子程序副本,并且用实际参数名替代形式参数名.设主程序调用如下:d:=distence(a1,b1,a2,b2);相当于在此处产生一段程序:d:=sqrt(a2-a1)*2+(b2-b1)*2);,30,六存储分配程序运行时,必须分配相应的存储空间.这些空间包括:变量空间,常量空间,临时空间,连接单元等.有的空间在编译时就能确定其大小,而有的空间必须在程序运行时才能确定.根据这一特性,把空间分配分为两种:静态存储分配动态存储分配1静态存储分配若在编译时能完全确定程序所需空间大小,并能确定每个数据项的地址,就可在编译时分配所需空间,这种分配方法称为静态存储分配.若一个语言无递归调用,无可变数据项,则可静态地确定各数据项的空间大小和地址.Fortran语言满足这种定义.,31,2动态存储分配是指在程序运行时才能确定存储空间和地址的一种分配方法.适用于允许递归和可变数据项的语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 印染染化料配制工中秋节后复工安全考核试卷含答案
- 中药调剂员国庆节后复工安全考核试卷含答案
- 木材削片工国庆节后复工安全考核试卷含答案
- 高炉运转工国庆节后复工安全考核试卷含答案
- 药业公司招商方案参考
- 起重机械维修工国庆节后复工安全考核试卷含答案
- 抓岩机司机国庆节后复工安全考核试卷含答案
- 电子产品维修工操作技能培训手册
- 企业职工假期培训心得体会模板
- 预拌混凝土中控工节假日前安全考核试卷含答案
- 岩土工程词汇中英文对照大词典(很全)
- GB/T 41776-2022法庭科学弹药鉴定方法
- LY/T 2787-2017国家储备林改培技术规程
- GB/T 3921-2008纺织品色牢度试验耐皂洗色牢度
- 三级安全教育档案模板(完整版)
- 第三单元名著导读《朝花夕拾》之《二十四孝图》详解 课件(共17张ppt) 部编版语文七年级上册
- 第三卷车体-第一分册70a-ccd sa02.半永久车钩
- 露天采石场供配电系统安全管理制度
- 考研英语翻译
- 山东省职业中专(高中)学生登记表(A3可以打印)
- 北京科技大学机械制图杨皓第四版习题集答案PPT课件
评论
0/150
提交评论