Modular and Didactic Compiler Design with XML Inter-Phases Communication

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.

READ FULL TEXT

page 6

page 7

page 11

page 13

page 17

page 18

page 19

page 20

research
07/18/2022

Implementation of a Didactic Compiler for a superset of PL/0

This article describes the features of a compiler for a superset languag...
research
12/08/2017

Effective Extensible Programming: Unleashing Julia on GPUs

GPUs and other accelerators are popular devices for accelerating compute...
research
05/27/2020

OpenQL : A Portable Quantum Programming Framework for Quantum Accelerators

With the potential of quantum algorithms to solve intractable classical ...
research
05/20/2019

Towards Neural Decompilation

We address the problem of automatic decompilation, converting a program ...
research
09/27/2021

The software design of Gridap: a Finite Element package based on the Julia JIT compiler

We present the software design of Gridap, a novel finite element library...
research
02/14/2020

Constructing Hybrid Incremental Compilers for Cross-Module Extensibility with an Internal Build System

Context: Compilation time is an important factor in the adaptability of ...
research
10/21/2022

Programming Bare-Metal Accelerators with Heterogeneous Threading Models: A Case Study of Matrix-3000

As the hardware industry moves towards using specialized heterogeneous m...

Please sign up or login with your details

Forgot password? Click here to reset