Abstract Search

ISEF | Projects Database | Finalist Abstract

Back to Search Results | Print PDF

A Configurable Compiled Programming Language With Integrated Transpilation

Booth Id:

Systems Software


Finalist Names:
Lustig, Milan (School: Cold Spring Harbor Jr/Sr High School)

Language workbenches and product lines allow users to customize programming languages by providing a framework for the creation of Domain Specific Languages (DSLs). They allow for quicker language development, but still require some programming. The customization offered by workbenches and product lines is focused towards adapting to new domains. The purpose of this research is to introduce a new approach to language customization. This research proposes a language designed to be easily customized and configured for new users, rather than new domains, while still offering language extension. Users can simply select options to configure the syntax and semantics of their personal preferences. This offers a more approachable take to language customization than most language workbenches, especially for inexperienced developers. Developers may also be able to more smoothly adapt to new languages if user-oriented customization is applied similarly to gradual learning. User-oriented customization is also accompanied by an inter-configuration transpiler and standardized language form, ensuring that code written in custom configurations is still readable by all users. User-oriented customization was implemented in a general purpose compiled C-based language in which users are able to configure the syntax and semantics by editing a Tom's Obvious Minimal Language (TOML) configuration file. From the creation of this language, it can be concluded that user-oriented customization can reasonably be implemented into large modern general-purpose compiled languages and, when accompanied by one-to-one syntax translation between forms, can be used by many people with many configurations with no added friction.