Related articles |
---|
Re: "The C compiler is Written in C" What! gah@ugcs.caltech.edu (Glen Herrmannsfeldt) (2003-07-26) |
Re: "The C compiler is Written in C" What! marcov@toad.stack.nl (Marco van de Voort) (2003-07-31) |
Re: "The C compiler is Written in C" What! postmaster@paul.washington.dc.us (Paul Robinson) (2003-07-31) |
Re: "The C compiler is Written in C" What! rinie@xs4all.nl (Rinie Kervel) (2003-07-31) |
Re: "The C compiler is Written in C" What! gah@ugcs.caltech.edu (Glen Herrmannsfeldt) (2003-08-04) |
Re: "The C compiler is Written in C" What! Martin.Ward@durham.ac.uk (Martin Ward) (2003-08-04) |
Re: "The C compiler is Written in C" What! marcov@toad.stack.nl (Marco van de Voort) (2003-08-04) |
From: | Martin Ward <Martin.Ward@durham.ac.uk> |
Newsgroups: | comp.compilers |
Date: | 4 Aug 2003 00:06:24 -0400 |
Organization: | Compilers Central |
References: | <43797288.0307260936.7ea8822c@posting.google.com> 03-07-198 03-07-209 |
Keywords: | practice |
Posted-Date: | 04 Aug 2003 00:06:24 EDT |
One further point to add to this thread is that you don't actually
*need* a compiler in order to bootstrap a compiler written in its own
language: it is sufficient to implement an interpreter for the target
language in an existing language. In fact, you can even write the
interpreter in a small subset of the target language: then all you
need is an interpreter for the subset of the target language written
in an existing language. In other words:
Comp1 is the compiler for C written in C
Int1 is an interpreter for the subset of C used to write Comp1
written in an even smaller subset of C, which I will call TeenyC.
Int2 is an interpreter for TeenyC written in a language for
which you already have a compiler or interpreter.
Then you run Int2 interpreting Int1 interpreting Comp1 compiling Comp1!
After a (long!) coffee break, you have a compiled copy of Comp1 which
can be used to develop Comp2 and so on. So you can throw away Int1
and Int2.
--
Martin
Martin.Ward@durham.ac.uk http://www.cse.dmu.ac.uk/~mward/ Erdos number: 4
Return to the
comp.compilers page.
Search the
comp.compilers archives again.