Modular and Didactic Compiler Design with XML Inter-Phases Communication
Eduardo Adam Navas-L\'opez

TL;DR
This paper introduces a modular, educational compiler for a Pascal-like language that uses XML to represent each compilation phase, enhancing understanding and teaching in compiler design courses.
Contribution
It presents a novel compiler architecture that employs XML for phase communication, making the compilation process more transparent and suitable for educational purposes.
Findings
XML-based phase communication improves learning clarity
The compiler can be implemented in Python
Educational benefits for compiler courses
Abstract
In Compiler Design courses, students learn how a program written in high level programming language and designed for humans understanding is systematically converted into low level assembly language understood by machines, through different representations. This article presents the design, educative characteristics and possibilities of a modular and didactic compiler for a Pascal-like programming mini-language that is super-set of Niklaus Wirth's PL/0. The main feature is that it implements the compiling phases in such a way that the information delivered to each next one may be reflected as an XML document, which can be studied separately. It is also shown that its design is suitable for being included as learning tool into compiler design courses. It is possible to implement a compiler in a high-level language like Python.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
