A Configurable Compiled Programming Language With Integrated Transpilation
ISEF · 2024 Systems Software Third Award
Overview
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.
Awards (1)
- Third Award of $1,000 $1,000
Competition history
- ISEF 2024
Resources
Related projects
ISEF · 2023
Engineering a Component-Based Programming Language
ISEF · 2024
LinkDev: A Programming Language That Combines All Programming Languages Into One Designed To Boost Coding Experience
ISEF · 2015
SCC: Reversible Multi-Translation of High-Level Programming Languages and a Platform for Performance-Controlled Execution in Multi-Agent Systems
ISEF · 2022
Subscript: A Functional Programming Language for Scripting in Data-Driven JVM Applications
Closest projects by meaning, across every fair and year in the corpus.
Source: Regeneron International Science and Engineering Fair