Back to Search Start Over

Incremental parametric syntax for multi-language transformation

Authors :
Armando Solar-Lezama
James Koppel
Source :
SPLASH (Companion Volume)
Publication Year :
2017
Publisher :
ACM, 2017.

Abstract

We present a new approach for building source-to-source transformations that can run on multiple programming languages, based on a new way of representing programs called incremental parametric syntax. We implement this approach in our Cubix system, and construct incremental parametric syntaxes for C, Java, JavaScript, Lua, and Python, demonstrating three multi-language program transformations that can run on all of them. Our evaluation shows that (1) once a transformation is written, relatively little work is required to configure it for a new language (2) transformations built this way output readable code which preserve the structure of the original, according to participants in our human study, and (3) despite dealing with many languages, our transformations can still handle language corner-cases, and pass 90% of compiler test suites.

Details

Database :
OpenAIRE
Journal :
Proceedings Companion of the 2017 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity
Accession number :
edsair.doi...........4a76c8ec2fd0321950c96eb40f910e9a
Full Text :
https://doi.org/10.1145/3135932.3135940