Re: Bootstraping compilers ?
- From: Hans-Peter Diettrich <DrDiettrich1@xxxxxxx>
- Date: Tue, 22 Apr 2008 20:07:33 +0200
Paulo Jorge de O. C. de Matos wrote:
However once you have written a C99 compiler (using C95) you can then
write a C99 compiler and compile it with itself (after the first
compilation using the C99 compiler written in C95)
Thanks you all for your replies. Chris, this is making me
confused. Does your quote mean that I would have to write two
compilers? One compiler in C95 and one in C99? So the first would
accept C99, the second in C99 is then fed into the first?
Consider two aspects: the language to compile, and the compiler itself.
With regards to the language you may want to retain backwards
compatibility, or multiple "idioms" of the language, which may be
selectable by command line switches. This part can grow or shrink,
whatever functionality you want to put into, or remove from, your
concrete compiler. The lexer/parser may be implemented for C99, with
conditional branches in the semantic code to reject or allow for the
recognition of the C95/C99 or any sooner (or later) language specs. A
parser frequently will accept more (syntactic) constructs, whereas the
exact language specification (including semantics) will be implemented
by semantic code only.
The compiler itself may not profit from new language features, so that
this code can stay in the old (C95) version - provided backwards
compatibility of the language specs.
DoDi
.
- References:
- Bootstraping compilers ?
- From: Paulo Jorge de O. C. de Matos
- Re: Bootstraping compilers ?
- From: Chris Hills
- Re: Bootstraping compilers ?
- From: Paulo Jorge de O. C. de Matos
- Bootstraping compilers ?
- Prev by Date: Re: Bootstraping compilers ?
- Next by Date: Re: Bootstraping compilers ?
- Previous by thread: Re: Bootstraping compilers ?
- Next by thread: Re: Bootstraping compilers ?
- Index(es):
Relevant Pages
|
|