On Tue, Jan 22, 2008 at 02:23:06PM -0800, [EMAIL PROTECTED] wrote:

Imagine we are CPU/system board designers needing to crank out C compilers
for each new product.  Certainly we need to abstract away *something*
to avoid reinventing the wheel everytime.  I believe gcc has an low level
intermediate form it compiles to.  I wonder how close that intermediate form is
to Lisp.

Not very, other than that the oldest ideas of the basic data structure were
kind of sexp like.  In other words, it's more like lisp data than lisp
code.

It's a register transfer language, kind of like a very general purpose
process with an abritrary number registers.  The compiler then does
transformations on it to produce something that gets closer to the real
CPU.  Eventually there is a fairly direct mapping to the current CPU.

In actuality, it's not all that simple, and the top level makes many
decisions based on the underlying architecture.  Because of their
development model, it never really became a general intermediate language,
and is still quite a bit of work to make a front end for.

Dave

--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to