自展的思想是先用目标机的汇编语言或机器语言书写源语言的一个子集的编译程序,然后再用这个子集作为书写语言,实现源语言的编译程序,如果把这个过程根据情况分成若干步,像滚雪球一样直到生成预计源语言的编译程序为止,我们把这样的实现方式称为自展技术。例如,在目标机A上要实现L语言的编译程序,我们可以把L划分成核心部分为L
1
。
第1步: 我们先用A机器的汇编语言或机器语言A书写L
1
的编译程序,表示为
,其T型图如图13.3。
图 13.3
的T型图
这就相当于在A机器上已有了一个L
1
语言的
编译程序。L
1
已属高级程序设计语言。
第2步: 我们可以再用L
1
书写L语言的编译程序为
,其T型图如图13.4所示。
图 13.4
的T型图
第3步: 由于我们最终要求得到
,目前我们已经有了第1步和第2步所得到的两个编译程序,而
对
来说只不过是L1语言的源程序,所以只要把
经过
编译即可得到
。我们可用图13.5的双层结合T型图表示
。
图 13.5
的双层结合T型图