J.C. Wren wrote:
A number of C compilers on small architectures have
solved this problem by
having 2, sometimes 4, distinct compiling phases, and passing data through
temporary files. This gives you a lot more leeway in code space. I've seen
preprocessor pass, tokenization pass, code generator pass, and in some cases,
the 4th pass is the assembler (which I generally prefer over
direct-to-assembly, since you can insert a user-written processing phase if
you want to get funky).
Most of the C-compliers I have seen for 8 bit machines, tend to cross
compile from a PC. A PC is a far different machine with 32 meg and a
hardisk, rather than 32k and paper tape like the HP could be.
--John