[文章泛读] 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”偏向于讨论不同程序语言之间的转换。
[文章泛读] The varying faces of a program transformation systems (ACM Inroads, 2012)的更多相关文章
- Java 垃圾回收(GC) 泛读
Java 垃圾回收(GC) 泛读 文章地址:https://segmentfault.com/a/1190000008922319 0. 序言 带着问题去看待 垃圾回收(GC) 会比较好,一般来说主要 ...
- 一篇文章,读懂Netty的高性能架构之道
一篇文章,读懂Netty的高性能架构之道 Netty是由JBOSS提供的一个java开源框架,是一个高性能.异步事件驱动的NIO框架,它提供了对TCP.UDP和文件传输的支持,作为一个异步NIO框架, ...
- 一篇文章,读懂 Netty 的高性能架构之道
原文 Netty是一个高性能.异步事件驱动的NIO框架,它提供了对TCP.UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机 ...
- AQS源码泛读,梳理设计流程(jdk8)
一.AQS介绍 AQS(AbstractQueuedSynchronizer)抽象队列同步器,属于多线程编程的基本工具:JDK对其定义得很详细,并提供了多种常用的工具类(重入锁,读写锁,信号量,Cyc ...
- 论文泛读·Adversarial Learning for Neural Dialogue Generation
原文翻译 导读 这篇文章的主要工作在于应用了对抗训练(adversarial training)的思路来解决开放式对话生成(open-domain dialogue generation)这样一个无监 ...
- 论文泛读:Click Fraud Detection: Adversarial Pattern Recognition over 5 Years at Microsoft
这篇论文非常适合工业界的人(比如我)去读,有很多的借鉴意义. 强烈建议自己去读. title:五年微软经验的点击欺诈检测 摘要:1.微软很厉害.2.本文描述了大规模数据挖掘所面临的独特挑战.解决这一问 ...
- NLP论文泛读之《教材在线评论的情感倾向性分析》
NLP论文泛读之<教材在线评论的情感倾向性分析> 本文借助细粒度情感分类技术, 对从网络上抓取大量计算机专业本科教材的评价文本进行情感极性 分析, 从而辅助商家和出版社改进教材的质量.制定 ...
- 论文泛读 A Novel Ensemble Learning-based Approach for Click Fraud Detection in Mobile Advertising [1/10]
title:新的基于集成学习的移动广告作弊检测 导语:基于buzzcity数据集,我们提出了对点击欺诈检测是基于一组来自现有属性的新功能的一种新方法.根据所得到的精度.召回率和AUC对所提出的模型进行 ...
- JDK1.8源码泛读之Arrays
jdk1.8包含的常用集合工具类,一般包括两个: 数组工具类:`java.util.Arrays ` 结合工具类:`java.util.Collections` 今天就结合源码对`java.util. ...
随机推荐
- docker 学习(五) virtualBox虚拟机安装docker
这里计划用virtualBox虚拟机安装两个ubuntu servers, 然后用docker把spring boot项目部署上去,模拟一下分布式的微服务情况. 1:安装virtualbox,后安装U ...
- 【Linux学习】Linux系统管理1—进程管理
Linux系统管理1-进程管理 一.Linux的三种进程 Linux包括3中不同类型的进程: 交互进程:由一个shell启动的进程.交互进程可以在前后台运行 批处理进程:该进程和终端无联系,是一个进程 ...
- UVa 1645 Count (递推,数论)
题意:给定一棵 n 个结点的有根树,使得每个深度中所有结点的子结点数相同.求多棵这样的树. 析:首先这棵树是有根的,那么肯定有一个根结点,然后剩下的再看能不能再分成深度相同的子树,也就是说是不是它的约 ...
- 网络编程-http连接-GET&POST
GetRequest package com.net.http; import java.io.BufferedReader; import java.io.IOException; import j ...
- lightoj刷题日记
提高自己的实力, 也为了证明, 开始板刷lightoj,每天题量>=1: 题目的类型会在这边说明,具体见分页博客: SUM=54; 1000 Greetings from LightOJ [简单 ...
- 反射记录点滴——Field
反射记录点滴 1. 反射获取类的属性 Class.getDeclareFileld(String name) 返回一个Filed对象,该对象反映此Class对象所表示的类或接口的指定已声明字段. Cl ...
- VRTK3.3.0-004传送
直线传送: 一.无高度变换传送(VRTK_BasicTeleport) 1丶继续在VRScripts下创建空物体PlayArea,用来挂在传送相关脚本:创建Plane作为传送地面 2丶在PlayAre ...
- 升级ruby的版本
升级ruby版本,有时候安装ruby的版本过低,需要进行升级,例如安装在centos6.7安装fpm需要ruby版本在1.9以上. 1.主机环境如下: [root@test ~]# cat /etc/ ...
- Java 序列化(转)
转自 http://www.infoq.com/cn/articles/cf-java-object-serialization-rmi 对于一个存在于Java虚拟机中的对象来说,其内部的状态只保持在 ...
- 51Nod 1127 最短的包含字符串 (尺取法)
#include <iostream> #include <algorithm> #include <string> #include <cstring> ...