I was searching for Small-C information (it seems that cc65 is descended from Small-C) and found this:
http://www.reocities.com/SiliconValley/ ... cc6502.tgzhttp://www.reocities.com/SiliconValley/ ... cc6502.txtQuote:
a version of small-c for the 6502 and LUnix [by] Ivan A. Curtis
Quote:
scc6502, a version of the small-c compiler for the 6502, specifically designed for the C-64 running the LUnix operating system. Changes to the assembly syntax and the runtime will allow it to be used for other 6502 systems.
From the included SCC_README file:
Quote:
Small C version C3.0R1.1 (SCC3) [by] Chris Lewis
This directory contains the source for a version of Ron Cain's Small C
compiler that I have heavily modified - beyond the Small-C V2.0 later
published in Dr. Dobbs. This compiler generates assembler source code that
needs to be assembled and linked to make a running program.
In a similar vein, see also
this $30 CD of info from Dr Dobbs:
Quote:
The CD-ROM includes James Hendrix's out-of-print book, A Small-C Compiler: Language, Usage, Theory, and Design, and several relevant articles from Dr. Dobb's Journal written by C experts such as Allen Holub.
Tangentially relevant, there's
a doc by Edmund Grimley-Evans describing the bootstrapping of a C compiler, albeit on x86 and assuming ELF format executables:
Quote:
Bootstrapping a simple compiler from nothing
============================================
This document describes how I implemented a tiny compiler for a toy
programming language somewhat reminiscent of C and Forth. The funny
bit is that I implemented the compiler in the language itself without
directly using any previously existing software. So I started by
writing raw machine code in hexadecimal and then, through a series of
bootstrapping steps, gradually made programming easier for myself
while implementing better and better "languages".
Seen also
on github (uploaded by Scott Taylor)
More bootstrapping references in
this discussion.