🤖 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.
📝 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.