编译器自举和移植

本文探讨了编译器的自举过程,即如何用编译器自身来编译自身,以及编译器的移植到不同架构的挑战。通过T-Diagram解释了编译器的工作原理,并提及RISC架构对编译器设计的影响,强调了在RISC架构中,编译器需要处理更多底层操作细节。
摘要由CSDN通过智能技术生成

编译器自举和移植


有个著名的问题:Mommy, where do compilers comefrom?要解决这个问题,首先来看看T-Diagram。可以将编译器用一个T形图来表示:

 ---------
| S     T |
 ---   ---  
   | I |
    ---
其中,S表示Souce Language,T表示Target Language,I表示ImplementationLanguage。
根据这个图,可以得到两种组合:
1、 由I实现的将S翻译成A的编译器和将A翻译成T的编译器联合起来工作,可以实现S到T的编译。这不是很有意思的组合。
 ------------------
| S     A | A     T |
 ---   ------   ---   
   | I |    | I |
    ---      ---
2、由I实现的将S翻译成T的编译器(compiler C1),由H实现的将I翻译成K的编译器的组合(compilerC2)。这个组合比较有意思:可以用C2去编译C1(将其实现语言从I翻译成K),这样就得到由K实现的将S翻译成T的编译器(compilerC3):
 ---------                ---------
| S     T |              | S     T |
 ---   ࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值