




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编译原理编译原理教师: 蒋 平电话:-mail: 第一章 引论1.1 编译程序概念 程序语言分为两类: a.高级语言 C,C+,PASCAL,JAVA,BASIC b.低级语言 低级语言可分为两类 a.机器语言:以二进制形式存在,计算机可以 直接执行的语言; b.汇编语言:采用一些助记符号表示机器语言 中的指令和数据,使机器语言 符号化;编译:将高级程序设计语言翻译加工成机器语言或汇编语言的过程;编译程序:能够实现编译功能的程序。1.2 编译过程概述1)识别出句子中的一个个单词; 2)分析句子的语法结构; 3)根据句子的含义进行初步翻译; 4)对译文进行修饰; 5)写
2、出最后的译文;例1 将如下英语翻译成汉语She is a pretty girl.1、词法分析;2、语法分析;3、中间代码生成;4、代码优化; 5、目标代码生成;例2 将如下程序翻译成计算机语言.if (a1) b=2; 词法分析:识别原程序中的一个个单词; 例2中的if,(,a,1,),b,=,2,;,. 2)语法分析:把一个个单词按语法规则分解 成语法单位,例如”句子”、“短语”等; 例3: x=a+b 是一个赋值语句 a+b 是一个算数表达式 3)中间代码生成:对语法分析所识别出的各类语法单位,分析其含义并进行初步翻译(生成中间代码); 中间代码是一种独立于硬件的记号系统,常用的有四元式
3、、三元式、间接三元式、逆波兰式和树形表示等。 四元式表示方式运算符左操作数右操作数结果序号运算符左操作数 右操作数结果(1)+abT1(2)=T1x 四元式表示例3中的x=a+b 4)代码优化:对前段产生的中间代码进行加工变换,以期产生更为高效(省时省空间)的目标代码。 例4: for(k=1;k=100;k+) m=i+10*k;序号序号运算运算符符左操左操作数作数右操右操作数作数结果结果(1)=1k(2)j100k(7)(3)*10kT1(4)+iT1m(5)+k1k(6)j(2)(7)序号序号运算符运算符左操左操作数作数(1)=i(2)=1(3)j100(4)+m(5)+k(6)j(7) 代码一 代码二5)目标代码生成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业保密及竞业禁止协议合同书
- 信息技术支持下的农产品电商合作合同
- 财务证明书个人投资及资产情况说明(8篇)
- 物流运输服务合同修订协议
- 设计师项目实习成果证明(5篇)
- 银行行业绿色金融方案
- 智能医疗影像系统升级协议
- 信息技术领域在职人员证明(5篇)
- 行政管理学课程设计与实施试题及答案
- 农村生态农业资源开发承建合同
- 砸墙拆除合同
- 初级会计师考试历年真题试题及答案
- 2025长江三峡集团限公司招聘961人易考易错模拟试题(共500题)试卷后附参考答案
- 电能技术监督培训
- 2025劳动合同书(上海市人力资源和社会保障局监制)
- 酒店前台接待礼仪标准试题及答案
- 六年级总复习常见的量市公开课一等奖省赛课获奖课件
- 园林植物养护管理 项目4 任务4.5行道树整形修剪学习资料
- 2025年高考作文备考训练:歌曲《世界赠予我的》
- 四年级下册课外阅读(含答案)
- 美术创作行业艺术品损坏免责协议
评论
0/150
提交评论