论文部分内容阅读
随着信息化进程的推进,软件的生产效率已经引起了业内人士的普遍重视。提高软件的生产效率,除了按照工程化的方法生产软件外,还需要提高软件的可重用性。其中应用程序跨平台的可移植性问题一直是可重用性的一个障碍。怎样提高软件的可移植性一直是业界所关注的焦点。
Java语言的出现带动了虚拟机(VM)思想的发展,JavaVirtualMachine(JVM)就是一个实际的产品。Java源代码经过编译产生字节码文件,该文件可以在多种具体平台上的JVM上运行,真正做到了一次编译,到处运行。这样自然提出了一个问题:能否把C语言也编译为字节码文件?这样既能够利用C语言的灵活性,又能够利用跨平台的优点。本论文对完成这种功能的编译器进行了探讨和尝试。本论文主要讨论了如何设计一个基于JVM的ANSIC语言编译器。在该设计中,主要聚焦于主要的数据结构,利用编译的基本原理,提出了代码生成阶段方法的改进,最后生成一个简化的编译器工具。