Related articles |
---|
Compiler construction projects roderick.bloem@ist.tu-graz.ac.at (Roderick Bloem) (2005-06-02) |
Re: Compiler construction projects touati@prism.uvsq.fr (TOUATI Sid) (2005-06-02) |
Re: Compiler construction projects lfinsto1@gwdg.de (Laurence Finston) (2005-06-02) |
Re: Compiler construction projects torbenm@diku.dk (2005-06-10) |
Re: Compiler construction projects anton@mips.complang.tuwien.ac.at (2005-06-12) |
Re: Compiler construction projects ressler@usma.edu (Gene) (2005-06-19) |
Re: Compiler construction projects oliver@first.in-berlin.de (Oliver Bandel) (2005-06-23) |
Re: Compiler construction projects skandgoe@gwdg.de (Skandinavisches Seminar) (2005-06-26) |
From: | torbenm@diku.dk (=?iso-8859-1?q?Torben_=C6gidius_Mogensen?=) |
Newsgroups: | comp.compilers |
Date: | 10 Jun 2005 22:15:50 -0400 |
Organization: | Department of Computer Science, University of Copenhagen |
References: | 05-06-006 |
Keywords: | courses |
Posted-Date: | 10 Jun 2005 22:15:50 EDT |
Roderick Bloem <roderick.bloem@ist.tu-graz.ac.at> writes:
> I am teaching compiler construction for the second time this year, and I
> would like to exchange experiences with others teaching the same course.
>
> In particular, I would be interested in the details of projects to
> build a compiler: Which source and destionation languages do you use,
> which implementation language for the compiler, and, especially, which
> tools?
I have over the last 6 years taught a compilers course with a project
where students (in groups) implement a compiler for a very small
language to a small subset of the MIPS instruction set. I have used
different languages, but they all contain at least one-dimensional
arrays (or, in one case, lists) and function calls with multiple
parameters, but none of them have nested function definitions (as this
will require static links, which would be too complicated for the
short period for the project), nor multi-dimensional arrays.
I use Standard ML (specifically Moscow ML) as implemention language,
using MosML-Lex and MosML-Yacc as tools, as well as a register
allocator for the MIPS subset (written by myself). The generated code
is executed on a simulator.
The students are glad that the compiler feels "real" due to the
low-level target (unlike a compiler to a high-level VM) and they learn
a lot by doing it. But it is a bit more work than using a VM, so they
often complain about workload.
Torben
Return to the
comp.compilers page.
Search the
comp.compilers archives again.