Re: Teaching compilers backwards?

nr@eecs.harvard.edu (Norman Ramsey)
26 Mar 2004 21:25:18 -0500

          From comp.compilers

Related articles
[13 earlier articles]
Re: Teaching compilers backwards? lex@cc.gatech.edu (Lex Spoon) (2004-03-19)
Re: Teaching compilers backwards? k301x@yahoo.com (dtf) (2004-03-19)
Re: Teaching compilers backwards? vbdis@aol.com (2004-03-19)
Re: Teaching compilers backwards? phf@cs.ucr.edu (=?ISO-8859-1?Q?Peter_Fr=F6hlich?=) (2004-03-19)
Re: Teaching compilers backwards? gah@ugcs.caltech.edu (glen herrmannsfeldt) (2004-03-26)
Re: Teaching compilers backwards? gah@ugcs.caltech.edu (glen herrmannsfeldt) (2004-03-26)
Re: Teaching compilers backwards? nr@eecs.harvard.edu (2004-03-26)
Re: Teaching compilers backwards? torbenm@diku.dk (2004-03-26)
| List of all articles for this month |

From: nr@eecs.harvard.edu (Norman Ramsey)
Newsgroups: comp.compilers
Date: 26 Mar 2004 21:25:18 -0500
Organization: Harvard University, Cambridge, Massachusetts
References: 03-09-073 04-03-045 04-03-066 04-03-069
Keywords: courses
Posted-Date: 26 Mar 2004 21:25:18 EST

Rome Samo <romesamo@earthlink.net> wrote:
>Sure would be good if we could generate some kind of pcode, then have
>all the guru's optimize it, and produce assembly for various processors.
> I have looked at a lot of pcode, and, frankly am not too excited about
>what's out there. Rather than pcode generation, if we put our heads
>together, and create a plain English verion of this, it sure would go a
>long way. I guess what this means is to create a new pcode language
>that is readable by human beings (text), and does not assume processor
>architecture. The language should assume that there are registers,
>stack, memory, and should be easy to look at.


OK, I can't resist putting in a plug for C--, the compiler target
language designed primarily by Simon Peyton Jones and me. C-- is
somewhat readable, supports multiple hardware platforms, and has
direct support for registers and memory. (Memory may be in
initialized data, on the stack, or in a dynamically allocated heap.)
C-- is designed to support a constellation of low-level optimizations,
but the only one we've actually implemented is a modern,
graph-coloring register allocator (thanks Joao Dias).


We currently generate bad code for x86-linux and ppc-osx.
More targets and more optimizations will be coming this summer, but if
you want to check us out, go to www.cminusminus.org.


One more thing: from an academic, intellectual point of view, the real
novelty behind C-- is a *run-time* interface that is intended to
support garbage collectors, exception dispatch, user-level threads,
and other run-time services. We are very interested in working with
people who wish to compile languages that require such services.
--
Norman Ramsey
http://www.eecs.harvard.edu/~nr


Post a followup to this message

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