编译原理:第二节
这一节主要讲解T型图。一个编译程序可以用三种语言来刻画,即源语言,目标语言和宿主语言(编译的实现语言),用T型图可以方便地对其进行表示。其中,T型图的左上角表示源语言,右上角表示目标语言,底部表示实现语言。如图:
例如:对于一个用Z语言实现的,从源语言X到目标语言Y的编译程序,可用下图表示:
此编译程序也可以记做:
用T型图表示交叉编译和编译程序的移植非常方便。
例如:把C语言从机器A移植到机器B,即实现:
首先我们由下图得到交叉编译器:
然后利用上面得到的交叉编译器实现最终所求,如下图:
思考:
1. 在机器A上已有C编译器,如何实现Pascal的编译器,用T型图表示
2. 在机器A上已有C编译器,如何在机器B上实现Pascal的编译器,用T型图表示