Re: A tiny self-hosting compiler used for teaching

Michael Lehn <michael.lehn@me.com>
Sat, 05 Sep 2026 22:58:16 -0700

          From comp.compilers

Related articles
[6 earlier articles]
Re: A tiny self-hosting compiler used for teaching ram@zedat.fu-berlin.de (2026-09-05)
Re: A tiny self-hosting compiler used for teaching gneuner2@comcast.net (George Neuner) (2026-09-05)
Re: A tiny self-hosting compiler used for teaching michael.lehn@uni-ulm.de (Michael Lehn) (2026-09-05)
Re: A tiny self-hosting compiler used for teaching michael.lehn@uni-ulm.de (Michael Lehn) (2026-09-05)
Re: A tiny self-hosting compiler used for teaching gneuner2@comcast.net (George Neuner) (2026-09-07)
Re: A tiny self-hosting compiler used for teaching christopher.f.clark@compiler-resources.com (Christopher F Clark) (2026-09-07)
Re: A tiny self-hosting compiler used for teaching michael.lehn@me.com (Michael Lehn) (2026-09-05)
Re: A tiny self-hosting compiler used for teaching ram@zedat.fu-berlin.de (2026-09-08)
Re: A tiny self-hosting compiler used for teaching martin@gkc.org.uk (Martin Ward) (2026-09-09)
| List of all articles for this month |
From: Michael Lehn <michael.lehn@me.com>
Newsgroups: comp.compilers
Date: Sat, 05 Sep 2026 22:58:16 -0700
Organization: Compilers Central
References: 26-08-007
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="60581"; mail-complaints-to="abuse@iecc.com"
Keywords: courses
Posted-Date: 08 Sep 2026 04:21:34 EDT

Yes, exactly. They are not computer science students, and HPC0 is not a
conventional compiler course.


I teach at the Institute of Numerical Mathematics. The students come mostly
from mathematics and related programs, and their programming experience varies
considerably. Some have programmed before, while others have essentially no
experience at all. Therefore I deliberately assume none.


The compiler is not really the subject of the course. It is a vehicle for
teaching programming and for connecting the different levels of a computer
system.


The idea is to start with a very small language and gradually follow the whole
path from a source program down to the machine:






        source program -> compiler -> assembly -> processor


In parallel, we approach the same machine from the other direction, starting
with logic gates and building a small processor. Eventually the two paths
meet.


So in that sense it is almost the opposite of a traditional fourth-year
compiler course. I am using compiler construction as an introduction to
programming and computer systems rather than teaching compiler construction as
an advanced specialization.


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.