本章讨论的重点就是IR,因此,有必要推荐几种经典的IR,供读者参考学习。
Java的字节码是近几年比较流行的一种IR形式,有兴趣的读者可以参考相关资料。
“鲸书”第4章也提出了一种不错的IR形式,并进行了详细的阐述。
RTL是GCC的IR形式,GCC内核白皮书对此有详细的解释。
MSIL是.Net的一种IR形式,也是近几年来比较流行的一种低级语言,是渴望了解与学习.Net内核的读者的必备知识。
UNCOL是一种诞生于20世纪50年代中期的通用IR形式,在《The problem of programming communication with changing machines:a proposed solution》一文中最先提到了UNCOL的概念。
lcc的DAG也是一种非常经典的IR形式,《可变目标C编译器——设计与实现》一书对此有详尽说明。
SunIR是Sun为SPARCE提供的C、C++、Fortran、Pascal等编译器的一种前端IR形式。
C一也是目前比较流行的一种前端IR形式,是一种比C语言更低级的形式,当然,它仍然是符合C语言标准的,这是C--的最大优势。这种IR形式可以被编译成可执行文件,更有利于前端调试与验证。
1、Java intermediate bytecodes James Gosling
说明:本文是关于Java字节码最权威的资料,是由Sun微系统实验室的James Gosling于1995撰写的。
2、GNU Compiler Collection Internals(www.daowen.com)
说明:这是关于GCC内核最权威的资料,其中,详细描述了RTL的话题,读者可以访问http://gcc.gnu.org/onlinedocs/gccint/。
3、Microsoft .NET ILtl汇编语言程序设计 Serge Lidin 机械工业出版社
说明:这是日前可以见到的唯一一本关于MSIL的书,不过,由于成书较早,涉及的内容与微软最新的技术有一定差距。
4、The problem of programming communication with changing machines:a proposed solution
说明:最先提出了IR设计的思想与UNCOL的提议。
5、可变目标C编译器 设计与实现 ChristopherW Fraser,DavidR.Hanson 电子工业出版社
说明:该书所描述的lcc是一个值得读者深入学习的实例系统,它的很多设计思想被广泛应用于许多相关领域,如操作系统等。
6、高级编译器设汁与实现 Steven S.Muchmck 机械工业出版社
说明:该书第4章给出1r一种有效的MIR形式,而第21章中详细捕述r SunIR。
7、C--specification (Version 2)
说明:这是C--语言的参考手册,读者可以访问http://www.cminusminus.org/,以获得C--的更多资料。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。