From: | Jeremy Wright <jeremy.wright@microfocus.com> |
Newsgroups: | comp.compilers |
Date: | Wed, 20 May 2009 08:34:33 +0000 (UTC) |
Organization: | Compilers Central |
References: | 09-05-084 |
Keywords: | practice |
Posted-Date: | 20 May 2009 10:00:28 EDT |
> Hans-Peter wrote:
>
> You'll find out when you want to port your compiler to a new platform.
> If it doesn't support the language you wrote your compiler in, or that
> other compiler there doesn't behave as expected, you're almost lost.
You can turn this around, and make it an argument against
self-residency in the compiler. There is a danger that you come to
rely on non-standard extensions to the language, and worse : implicit
non-standard extensions to the semantic definition of the language.
For instance : your compiler may always evaluate sub-expressions with
side effects left to right. Your compiler may come to rely on that. If
new optimizations are introduced which change this, suddenly the
compiler does not work. If your compiler is reguarly compiled by
several different compilers, there is less chance of such assumptions
becoming ingrained.
Not a technical objection per se, but self residency may encourage the
compiler writer to add extensions to support compiler type programs,
and add optimizations to support the same. This may come as a shock to
some people on this forum, but most applications are not compilers :-)
Jeremy
Return to the
comp.compilers page.
Search the
comp.compilers archives again.