,
Pedro Rangel Henriques
,
José Carlos Ramalho
Creative Commons Attribution 4.0 International license
Lazarus is an intentionally compact platform featuring an optimizing compiler, a lightweight virtual machine and IDE integration. Its small size, lets students explore every compilation stage by experimenting with a compiler inspired by modern systems. At the core lies an incremental parser, that only re-parses the surrounding areas of the changed text in an IDE environment, and an SSA-based optimizer. The target machine is a register-based virtual machine, that mimics native architectures, and provides a debugger. This paper presents both the source language, and its register-based virtual machine, while discussing an often neglected feature in compiler design: the incremental parser.
@InProceedings{goncalves_et_al:OASIcs.SLATE.2026.19,
author = {Gon\c{c}alves, Rui and Henriques, Pedro Rangel and Ramalho, Jos\'{e} Carlos},
title = {{Lazarus: Where Compilers Meet Education}},
booktitle = {15th Symposium on Languages, Applications and Technologies (SLATE 2026)},
pages = {19:1--19:18},
series = {Open Access Series in Informatics (OASIcs)},
ISBN = {978-3-95977-440-6},
ISSN = {2190-6807},
year = {2026},
volume = {144},
editor = {Batista, Fernando and Ribeiro, Eug\'{e}nio and Ribeiro, Ricardo and Santos, Andr\'{e} L.},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2026.19},
URN = {urn:nbn:de:0030-drops-267173},
doi = {10.4230/OASIcs.SLATE.2026.19},
annote = {Keywords: Object-Oriented Programming, Compilation, SSA, Optimization, Virtual Machine, IDE}
}