北航编译原理ppt课件 12编译程序生成方法和工具.ppt
《北航编译原理ppt课件 12编译程序生成方法和工具.ppt》由会员分享,可在线阅读,更多相关《北航编译原理ppt课件 12编译程序生成方法和工具.ppt(22页珍藏版)》请在三一办公上搜索。
1、第十二章 编译程序生成方法和工具,编译程序的书写语言自编译性自展编译程序的移植编译程序的自动生成,12.1 编译程序的书写语言,机器语言或汇编语言 主要优点:编出来的程序效率高。主要缺点:编程效率低,可读性差,不便于修改和移植。高级程序设计语言已基本取代汇编语言 优点:编程效率高,可读性好,利于移植。缺点:编译程运行效率较低。,12.2 自编译性,自编译性:如果一个高级语言能用来书写自己的编译程序,则该语言具有自编译性,并称该语言为自编译语言。,两点说明:通常用自编译语言除可编写本语言的编译程序以外,也可用来编写别的语言的编译程序。如果某台机器上已配备有某种自编译语言,则可利用这种语言为本台机
2、器配置其它的高级语言。,例:A机上有自编译语言L1的编译程序 L1.AO L1语言L1的编译程序 AO以A机的机器指令形式给出 利用语言L1可为A机生成语言L2的编译程序,源语言,目标语言,书写语言,L2,L1,Ao,L1,Ao,Ao,L2,Ao,f,f,2.自编译性不是绝对的,只是强弱不同 数据类型丰富的语言 控制结构丰富的语言,自编译性强,数据类型:除一般的外还有字符串类型,数组,结构,枚举,指 针等类型。控制结构:应适于进行多分支的程序设计,如有CASE语句等 FORTRAN,ALGOL自编译性差 PASCAL,C,ADA,C,JAVA自编译性强实践示例:用PASCAL语言编写一个简单的
3、编译程序,就是利用 PASCAL的自编译性。,12.3 自展,利用高级语言的自编译性,还可以通过自展方式生成语言的编译程序。设L为自编译语言,自展生成 L.Ao(A机目标形式的语言L的编译器,可在A机上运行),步骤:1.首先,将语言划分为N个部分:L=L1+L2+Ln L1 核心部分 L2 Ln扩充部分,2.先用A机上的汇编编写L1的编译程序,L1.Aa L1.AaAssemberL1.Ao,4.用(L1+L2)编写L1+L2+L3的编译程序,(L1+L2).Ao,L.Ao,L1.Ao,滚雪球式,用自展方式进行编译,可提高生产率。因核心语言小,可用汇编实现。其余部分高级语言编写。比全用低级语言
4、效率高。,12.4 编译程序的移植,移植:将某台机上的成熟软件移植到另一台机器上,也就是将宿主机上的软件移植到目标机上。如果使用具有自编译性的高级语言来书写程序,则移植是方便的。,移植,通过移植,在B机上可得到语言L的编译程序,具B机目标形式,可在B机上运行。,移植步骤:,将L.L分为两部分:一部分与机器无关 F.L 一部分与机器有关 A.L L.L=F.L+A.L,3.第一次编译 将I.L在宿主机A上用L的编译程序进行编译,生成能在宿主机A上运行的语言L的交叉编译器,它能生成目标机B的代码。,4.第二次编译(交叉编译),Ao,L,Bo,Ao,Bo,L,L,L,Ao,可以设想,只要在某台机器上
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北航编译原理ppt课件 12编译程序生成方法和工具 北航 编译 原理 ppt 课件 12 编译程序 生成 方法 工具
链接地址:https://www.31ppt.com/p-3909563.html