URIUM: A Programming Language for a Practical Open Course on Compiler Design
Francisco J. Moreno Velo, Almudena García Jurado-Centurión
Abstract
This paper presents the definition of a simple programming language used as the basis for developing a practical compiler design course. The course explains step by step how to build a compiler, from the initial analysis stages to code generation. The developed compiler generates code for various processors (MIPS, Intel, and RISC-V) and operating systems (MS-Windows and Linux). The course can be adapted to different levels of difficulty and can be used as a starting point for explaining more advanced topics.
Create a lesson
Related papers
Beyond Locks and Thread IDs: Static Data Race Detection Off The Beaten Path (Extended Version)
Daniel Bund, Julian Erhard, Michael Petter et al.
Separating Parsing Expression Grammars using Cell-Probe Lower Bounds
Jungyeom Kim, Jihyeok Park
Fine-grained Causal Reversibility for Asynchronous Channel-based Programming
Shunya Oguchi, Shoji Yuen, Nobuko Yoshida et al.
Cambria: Resource Abstraction for Parametrized Algebraic Effects and Handlers
Jack Liell-Cock, Sam Staton
Tacet: A Language and Type System for Automatic Statistical Validity Accounting
Chiké Abuah
You may implement this later: Cofunctors as partial implementations
Vincent Wang-Maścianica