Path: utzoo!utgpu!watmath!clyde!ima!compilers-sender From: acw!guthery@uunet.uu.net (Scott Guthery) Newsgroups: comp.compilers Subject: Why Can't We Build a C Compiler? Message-ID: <3070@ima.ima.isc.com> Date: 18 Dec 88 21:55:38 GMT Sender: compilers-sender@ima.ima.isc.com Reply-To: acw!guthery@uunet.uu.net (Scott Guthery) Lines: 35 Approved: compilers@ima.UUCP "C is not a `very high level' language, nor a `big' one ...". Its syntax and semantics are well-defined. A C compiler is probably a relatively small and not a particularly complicated computer program. We have constructed a number of very powerful of tools to help us build C compilers. We have an extensive theoretical and practical compiler literature going back at least 30 years. We have tens of thousands of man-years experience in trying to build C compilers. And yet I claim there does not exist a compiler for the C programming language. There are a lot of programs that are close but close shouldn't count. Every program I know of which calls itself a C compiler is at curent version level greater than 1.00 and will correct a couple more bugs in the next release. Why is this? What does it say about us and our craft? Is it even possible to build a C compiler? If so, when do you think there will be one? How will we recognize it if it does happen to come into being? Finally, if after hundreds of attempts we can't build a little 10,000 line utility for ourselves why in the world do we think we can build all the programs we work on every day? We are certainly kidding the folks that pay us and we're also doing a pretty good job of kidding ourselves. +*+*+*+*+*+*+*+*+*+*+*+*+ Austin Code Works +*+*+*+*+*+*+*+*+*+*+*+*+*+*+**+*+ Domain: acw!guthery@uunet.uu.net Snail: 11100 Leafwood Lane Office: guthery%asc@sdr.slb.com FAX: +1 (512) 258-1342 FidoNet: 1:382/12 Voice: +1 (512) 258-0785 Packet: N5MDE @ KB5PM TELEX: 446370 (austincodewrks) [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] -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.EDU Plausible paths are { decvax | harvard | yale | bbn}!ima Please send responses to the originator of the message -- I cannot forward mail accidentally sent back to compilers. Meta-mail to ima!compilers-request