Related articles |
---|
Writing a C compiler in Java/Jython adsharma@sharmas.dhs.org (2001-06-07) |
Re: Writing a C compiler in Java/Jython torbenm@diku.dk (2001-06-08) |
Re: Writing a C compiler in Java/Jython korek@icm.edu.pl (2001-06-10) |
Re: Writing a C compiler in Java/Jython walter@nospamm-digitalmars.com (walter) (2001-06-10) |
Re: Writing a C compiler in Java/Jython mcc@watson.ibm.com (2001-06-14) |
From: | torbenm@diku.dk (Torben AEgidius Mogensen) |
Newsgroups: | comp.compilers |
Date: | 8 Jun 2001 23:18:08 -0400 |
Organization: | Department of Computer Science, U of Copenhagen |
References: | 01-06-019 |
Keywords: | Java |
Posted-Date: | 08 Jun 2001 23:18:08 EDT |
adsharma@sharmas.dhs.org (Arun Sharma) writes:
>I wanted some opinions from people who might have attempted this in
>the past: Writing a C compiler in Java. Also, would using a scripting
>language like python (specifically the jython implementation of the
>language) have any advantages in writing optimization algorithms ?
I strongly recommend writing a compiler in a language that supports
automatic storage reclamation (garbage collection or similar). If I
was to choose a specific language, I would go for Standard ML, using
the ckit package from Bell-labs
(http://cm.bell-labs.com/cm/cs/what/smlnj/doc/ckit/).
>While I'm waiting to get a copy of Steven Muchnick's book, are there
>any other good resources on the net about the choice of an intermediate
>language (low, medium, high) ? Specifically, about the suitability
>of an intermediate language for a particular optimization algorithm ?
Some transformations (inlining, blocking) are most easily done in a
high-level intermediate language while others are better suited for
low-level IL's. Muchnick's book (like many others) advocate the
SSA-form, which is a fairly low-level IL using a special convention
for variable bindings. In "Modern Compiler Implementation in
ML/Java/C", Andrew Appel also describes SSA but goes on show how the
lambda calculus in CPS form can be seen as SSA extended with functions
and scopes. The description in said book is fairly sketchy, but other
reports and papers describe the idea in more detail. Appel's other
book "Compiling with Continuations" is tied closely to compiling ML
(and is also a bit dated), so I won't recommend this as the sole
source of using CPS form as an IL.
Torben Mogensen (torbenm@diku.dk)
Return to the
comp.compilers page.
Search the
comp.compilers archives again.