Modular and Didactic Compiler Design with XML Inter-Phases Communication

Eduardo Adam Navas-López
DOI: https://doi.org/10.5121/ijcseit.2022.12101
2022-04-13
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.
Programming Languages
What problem does this paper attempt to address?