[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: beagle compiler
BluPhoenyx wrote:
Michael J. Mahon wrote:
But which, if any, of these compilers/enviroments was self-hosted
(compiled using itself)?
I think this may only apply to HyperC but I couldn't say for sure.
IIRC, the doc's mention something about this. Since both C systems
use byte code interpreters I would not be surprised if both were
self-hosted. Without original source files we may never know.
Actually, it would be easy enough to take a look at the compiler
and see if it is M/L or interpretive code. Although using the same
runtime doesn't guarantee that it was self-hosted, it's a strong
implication.
The problem is, what is data, what is machine code and what is
interpreted. With HyperC, you should be able to tell where interpreted
code starts by looking for BRK. This assumes that there are no BRK codes
anywhere in the machine language code.
Looking with a disassembler makes it pretty easy to tell the
difference between real code and interpretive code, or a mixture
of the two. And BRK would be a relatively time-inefficient way
to switch to interpretive mode--better to JSR to the interpreter.
I once started reverse-engineering the hyperc interpreter, but
it's been long enough that I'd have to start over. ;-)
Aztec C may not have been self hosted as Manx had cross compilers to
generate 6502 code.
Right--and I don't know the "priority" of the various versions
of their compilers. (But I'd bet that an 8080 compiler came
before the 6502 one. ;-)
-michael
New, faster SUDOKU v2.0 solver for Apple II's!
Home page: http://members.aol.com/MJMahon/
"The wastebasket is our most important design
tool--and it's seriously underused."