A Reversible Intermediate Language for the Translation of Reversible Programming Languages – Københavns Universitet

A Reversible Intermediate Language for the Translation of Reversible Programming Languages

Abstract:

Intermediate languages are often used in compilers for the translation of conventional programming languages. The use of intermediate languages in compilers for reversible programming languages has not been explored yet.

This Master's thesis examines the design and use of a reversible intermediate language in a compiler to a reversible von Neumann architecture. We introduce a reversible intermediate language, called RIL, and give new translation schemes from RIL to two reversible assembly languages (PISA, BobISA). The compiler was fully implemented for the high-level reversible programming language Janus. In addition, we present an improved register allocation algorithm for expression evaluation in reversible machine code. We identify limitations and overheads that arise in the translation using the intermediate language.

Supervisor: Robert Glück, DIKU
Censor: Mads Rosendahl, RUC

The defense will be in English.