[文章泛读] The varying faces of a program transformation systems (ACM Inroads, 2012)

Beevi S. Nadera, D. Chitraprasad, and Vinod S. S. Chandra. 2012. The varying faces of a program transformation systems. ACM Inroads 3, 1 (March 2012), 49-55. (gs:2)

    这篇文章是对“Programing transformation Systems”的综述,作者的单位是TKM College of Engineering(印度)。

1. 文中认为目前代码转换的技术可以分为两类(S1):

  • using framework
  • pure translators

    在Table1里,作者又把代码转化技术细分为三种: frameworks, source to source program translators, translators as anaylsis tools。

2. (S2)介绍了代码转换框架。

    (S3)介绍了面向代码迁移的"source to source"代码转换。

    (S4)介绍了多语言(multilingual)分析工具。

    (S5)介绍了支持多种源语言的编译框架。

  • Vortex:支持纯面向对象语言(Cecil, Self, Concurrent Aggregate),混合型面向对象语言(C++, Modula-3, Java)
  • Suif compiler system:本身用C++实现。支持C, FORTRAN.
  • .NET framework:支持Java, C#等。
  • Toronto Portable Optimizer(TPO):本身用C++实现。支持C, C++, FORTRAN.

3. (S3)中介绍了3种代码转换的方法,分别是

  • 源码级别的转换(S3.1):比如把C++代码转换成Java代码。
  • Native Binary Code的集成(S3.2):比如使用JNI和CNI(Cygnus Native Interface)。
  • Source to Binary Converter(S3.3):把C语言转化成JVM上的机器码。

4. (S3.1)介绍了几种Source-to-Source Translator

  • MoHCA-Java: pure C++ –> Java
  • Cappuccino: C++ –> Java
  • C2j and C2j++: C/C++ –> Java
  • Epebdra: C -> Java

5. 这篇文章里的"Program Transformation”偏向于讨论不同程序语言之间的转换。

你可能感兴趣的:(transform)