Building Whitespace-Sensitive Languages Using Whitespace-Insensitive Components

📅 2025-10-09
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
In software language engineering, modular components of whitespace-sensitive and whitespace-insensitive languages exhibit poor interoperability and reusability, hindering library migration and necessitating redundant development for whitespace-sensitive variants. This paper proposes a unified construction approach based on pre-structural preprocessing: modular, whitespace-insensitive language constructs are integrated prior to parsing, and context-aware whitespace recognition dynamically generates whitespace-sensitive syntactic structures. The method bridges the integration gap between the two language paradigms, enabling seamless reuse of existing libraries. We validate the approach through refactoring a simplified Python dialect; experimental results demonstrate significant improvements in language component reusability and developer productivity, while preserving syntactic rigor and language quality.

Technology Category

Application Category

📝 Abstract
In Software Language Engineering, there is a trend towards reusability by composing modular language components. However, this reusability is severely inhibited by a gap in integrating whitespace-sensitive and whitespace-insensitive languages. There is currently no consistent procedure for seamlessly reusing such language components in both cases, such that libraries often cannot be reused, and whitespacesensitive languages are developed from scratch. This paper presents a technique for using modular, whitespaceinsensitive language modules to construct whitespace sensitive languages by pre-processing language artifacts before parsing. The approach is evaluated by reconstructing a simplified version of the programming language Python. Our solution aims to increase the reusability of existing language components to reduce development time and increase the overall quality of software languages.
Problem

Research questions and friction points this paper is trying to address.

Bridging whitespace-sensitive and insensitive language integration gaps
Enabling seamless reuse of modular language components
Reducing development time for whitespace-sensitive languages
Innovation

Methods, ideas, or system contributions that make the work stand out.

Preprocess language artifacts before parsing
Use whitespace-insensitive modules for sensitive languages
Reconstruct Python to validate the technique
🔎 Similar Papers
No similar papers found.
A
Alexander Hellwig
Software Engineering, RWTH Aachen University, Aachen, Germany
N
Nico Jansen
Software Engineering, RWTH Aachen University, Aachen, Germany
Bernhard Rumpe
Bernhard Rumpe
RWTH Aachen University
Software EngineeringModellingDomain Specific LanguagesTools