Back to Search
Start Over
Incremental parametric syntax for multi-language transformation
- 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.
- Subjects :
- Theoretical computer science
Java
Computer science
Programming language
Program transformation
020207 software engineering
0102 computer and information sciences
02 engineering and technology
Python (programming language)
JavaScript
computer.software_genre
01 natural sciences
Syntax
Constructed language
010201 computation theory & mathematics
Abstract syntax
0202 electrical engineering, electronic engineering, information engineering
Compiler
Abstract syntax tree
computer
computer.programming_language
Subjects
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