Multi-language synchronization

被引:0
作者
Ennals, Robert [1 ]
Gay, David [1 ]
机构
[1] Intel Res, 2150 Shattuck Ave, Berkeley, CA 94704 USA
来源
PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS | 2007年 / 4421卷
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We propose multi-language synchronization, a novel approach to the problem of migrating code from a legacy language (such as C) to a new language. We maintain two parallel versions of every source file, one in the legacy language, and one in the new language. Both of these files are fully editable, and the two files are kept automatically in sync so that they have the same semantic meaning and, where possible, have the same comments and layout. We propose non-deterministic language translation as a means to implement multi-language synchronization. If a file is modified in language A, we produce a new version in language B by translating the file into a non-deterministic description of many ways that it could be encoded in language B and then choosing the version that is closest to the old file in language B. To demonstrate the feasibility of this approach, we have implemented a translator that can synchronize files written in a straw-man language, Jekyll, with files written in C. Jekyll is a high level functional programming language that has many of the features found in modern programming languages.
引用
收藏
页码:475 / +
页数:3
相关论文
共 28 条
[1]  
[Anonymous], 1989, SMALLTALK 80 LANGUAG
[2]  
[Anonymous], 2002, P USENIX ANN TECHN C
[3]  
[Anonymous], 2003, Haskell 98 Language and LibrariesThe Revised Report
[4]  
*APPL, 2005, OBJ C PROGR LANG
[5]  
BRABRAND C, 2005, P 10 INT WORKSH DAT, V3774, P27
[6]  
BREWER E, 2005, P USENIX WORKSH HOT
[7]  
BUNEMAN P, 2002, PODS 02
[8]  
DAYAL U, 1982, ACM T DATABASE SYSTE, V8
[9]  
DELINE R, 2001, P ACM C PROGR LANG D
[10]  
*ECMA, 2005, C SHARP LANG SPEC