Related articles |
---|
backend question doeringm@gmx.de (Martin Doering) (2002-11-12) |
Re: backend question dnovillo@redhat.com (Diego Novillo) (2002-11-13) |
Re: backend question hannah@schlund.de (Hannah Schroeter) (2002-11-13) |
Re: backend question fjh@cs.mu.OZ.AU (Fergus Henderson) (2002-11-13) |
Re: backend question joachim_d@gmx.de (Joachim Durchholz) (2002-11-13) |
Re: backend question thp@cs.ucr.edu (2002-11-17) |
Re: backend question joachim_d@gmx.de (Joachim Durchholz) (2002-11-20) |
Re: backend question chase@world.std.com (David Chase) (2002-11-20) |
Re: backend question reig@tenerife.ics.uci.edu (Fermin Reig) (2002-11-24) |
Re: backend question felixundduni@freenet.de (felix) (2002-11-24) |
Re: backend question fjh@cs.mu.OZ.AU (Fergus Henderson) (2002-11-24) |
Re: backend question thp@cs.ucr.edu (2002-11-24) |
[10 later articles] |
From: | thp@cs.ucr.edu |
Newsgroups: | comp.compilers |
Date: | 17 Nov 2002 23:20:16 -0500 |
Organization: | University of California, Riverside |
References: | 02-11-063 02-11-078 |
Keywords: | translator |
Posted-Date: | 17 Nov 2002 23:20:16 EST |
Joachim Durchholz <joachim_d@gmx.de> wrote:
+ John wrote:
+ > [These days the most popular intermediate format is C. -John]
+
+ Which doesn't mean it's particularly suitable... C gets you started
+ quickly, but for an intermediate format, it abstracts away the wrong
+ things in some places. This begins to bite if you're doing
+ concurrency, exceptions, fancy integer arithmetic, tail-call
+ elimination, or state machines.
Standard C lacks an indirect jump (though one can be kludged a switch
statement). Anything that can be done in say MIPS assembly language
can be done in gcc, which has an indirect goto. Where necessary, one
can generates comments that preserve the memory of what got abstracted
away.
Tom Payne
[I didn't say that C was an ideal intermediate language, I said it was
popular. It does seem to have adequate performance for a lot of
translation applications. -John]
Return to the
comp.compilers page.
Search the
comp.compilers archives again.