On 2015-02-21 02:40, Chuck Guzis wrote:
"Bootstrapping" compiler code is quite
common. So, it's not unusual to
find FORTRAN source code in FORTRAN compilers, etc. I doubt that many
compilers are written entirely in assembly nowadays.
I would dare to say that pretty much none are, and none have been for
the last 30 years at least.
For example, back in the late 70s, I put together a
business BASIC
compiler for the 8080/8085. Theoretically, it was coded in assembly,
but it wasn't 8085 assembly. The technique was to code in a
platform-independent assembly language whose data types and operations
match the language elements that you're working with--words, numbers,
tokens, etc. Then one codes a small emulator in whatever is handy for
the target system to get code generation shaken out. Finally, one
implements the final compiler by taking the specialized machine and
converting them via macros to native assembly.
Yes. That is pretty much how compilers work today as well. You compile
to some abstract intermediate form, and then you have a backend that
translates into actual machine code for the target machine.
It's been that way for a long time...
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol