|Why Can't We Build a C Compiler? email@example.com (1988-12-18)|
|Re: Why Can't We Build a C Compiler? firstname.lastname@example.org (1988-12-19)|
|Re: Why Can't We Build a C Compiler? email@example.com (1988-12-21)|
|Re: Why Can't We Build a C Compiler? firstname.lastname@example.org (1988-12-21)|
|Re: Why Can't We Build a C Compiler? email@example.com (Nick Rothwell) (1988-12-20)|
|Re: Why Can't We Build a C Compiler? firstname.lastname@example.org (1988-12-23)|
|Re: Why Can't We Build a C Compiler? email@example.com (1988-12-26)|
|Re: Why Can't We Build a C Compiler? olender@rachmaninov.CS.ColoState.EDU (1988-12-28)|
|Re: Why Can't We Build a C Compiler? firstname.lastname@example.org (Frode Odegard) (1988-12-29)|
|Re: Why Can't We Build a C Compiler? email@example.com (1989-01-05)|
|Why can't we build a C compiler? think!compass!worley@EDDIE.MIT.EDU (1988-12-19)|
|[5 later articles]|
|From:||Nick Rothwell <firstname.lastname@example.org>|
|Date:||Tue, 20 Dec 88 12:15:34 GMT|
>"C is not a `very high level' language, nor a `big' one ...". Its syntax
>and semantics are well-defined.
I don't think this is the case, although I'm probably out of touch
with C standards. I thought there were problems with aliasing and so
on which weren't properly resolved. And I won't even mention the
hornet's nest that's opened when you start to think of all the
interactions with the macro preprocessor.
>[This point is well taken. I would think that with all of the theory
>available to compiler writers, compilers would be prime targets for software
>engineering techniques such as formal verification, of parts at least. Beats
>me why not. -John]
This is the approach we've taken with the ML project. Standard ML is,
to my knowledge, the only language to have a complete formal semantics
(which is *not* huge - 97 pages). Does Ada have one? How big is it?
The semantics serves as a reference for building compilers - there
are, I believe, 3 compilers respecting the semantics. I'm not going
to claim that they're all bug-free or absolutely conformant yet - ML
is a language very different from conventional languages like C or
PASCAL, and the implementation techniques are still very new - but the
task of compiler development is possible with small teams of compiler
writers (by small, I mean 1 or 2 persons).
Nick Rothwell, Laboratory for Foundations of Computer Science, Edinburgh.
email@example.com <Atlantic Ocean>!mcvax!ukc!lfcs!nick
Return to the
Search the comp.compilers archives again.