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
