Design and Implementation of a Compiler for a Reversible Object-Oriented Programming Language
Abschlussarbeit (Master)

Zusammenfassung
Moore’s Law has correctly predicted the number of transistors in computing systems growing exponentially for decades. The continued miniaturization of transistors lead to devices
becoming smaller, more energy efficient, and more powerful at the same time. Since the
early 2000s, this trend is slowing down as modern microprocessors approach physical limits.
The demand for continued performance improvements, combined with the limits of energy
efficiency scaling, has renewed interest in alternative computation models. Reversible computation prevents information loss during execution and, in theory, promises significant
reductions in heat dissipation, offering a potential path toward improved energy efficiency.
Despite these theoretical benefits, reversible computing remains largely experimental and no
general-purpose reversible processor has yet been developed. Research on reversible hardware is ongoing, and recent years have seen growing interest in reversible programming
languages. Still, compiler construction for reversible languages and source-to-source transpilation between them remain largely unexplored topics.
This master’s thesis presents a translation from the high-level, object-oriented, reversible
language Roopl++ to the low-level, partially reversible, intermediate language HSSA. To
support the dynamic memory required by Roopl++, HSSA had to be extended with a managed memory module, enabling successful translation of the entire language. The resulting
compiler demonstrates that reversibility can be preserved across translation and contributes
a concrete implementation to the practical study of reversible programming languages.
Titelzusatz / Titel übersetzt
Translating Roopl++ to HSSA
Schlagworte
Hybrid static single assignment
Dynamic Memory Management
Reversible Computing, Compile
Reversible programming languages
Roopl++
Dynamic Memory Management
Reversible Computing, Compile
Reversible programming languages
Roopl++
Umfang
II, 103 S.
Link zur Veröffentlichung
Sammlungen
