Incremental Parametric Syntax for Multi-Language Transformation

07/14/2017
by   James Koppel, et al.
0

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

READ FULL TEXT
research
05/04/2019

A Denotational Engineering of Programming Languages

The book is devoted to two research areas: (1) Designing programming lan...
research
10/08/2019

Do People Prefer "Natural" code?

Natural code is known to be very repetitive (much more so than natural l...
research
08/24/2021

Language Transformations in the Classroom

Language transformations are algorithms that take a language specificati...
research
03/06/2022

Parametric Transformations for Flexible Analysis

We present an approach for flexible analysis of complex system models ba...
research
09/28/2022

Visualizing the Scripts of Data Wrangling with SOMNUS

Data workers use various scripting languages for data transformation, su...
research
06/09/2011

A Knowledge Compilation Map

We propose a perspective on knowledge compilation which calls for analyz...
research
05/30/2023

Hierarchical string diagrams and applications

This is a tutorial text giving an advanced introduction to the diagramma...

Please sign up or login with your details

Forgot password? Click here to reset