Path: utzoo!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!spool.mu.edu!uunet!tut.cis.ohio-state.edu!n8emr!bluemoon!andy From: andy@bluemoon.uucp (Andy Vaught) Newsgroups: comp.windows.ms.programmer Subject: Re: BC++ and MSC SDK... Message-ID: <2HcBy1w163w@bluemoon.uucp> Date: 5 Mar 91 01:54:48 GMT References: <27180@uflorida.cis.ufl.EDU> Sender: bbs@bluemoon.uucp (BBS Login) Organization: Blue Moon BBS ((614) 868-9980/2/4) Lines: 30 jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes: > About Borland using MSC for their stuff. I DOUBT IT SEVERELY. To find > out, simply use GREP or Norton Text Search (TS) and search .COM and .EXE > files for the string "Borland" or "Microsoft". Compilers usually embed > this copyright string in the software they compile (hey, I found it in > LHX Attack Chopper and all the Borland QPRO stuff!). Remember-- C compilers are almost always written in C themselves. The usual development sequence would have Borland writting their compiler in C, compiling with MSC. When debugged, the new compiler can be used to compile itself, leaving behind its MSC heritage. Given that MSC was the only way to write windows system programs, it seems highly unlikely that the Borland developers could have used anything else. Other neat bootstrap techniques are possible with this arrangement. For instance, suppose you have a compiler that doesn't recognize the '\a' as a 0x07. All you do is go the place where these strings are parsed and add the case: if (nextchar == 'a') { emit(0x07); break; } Then you compile this, and it'll work fine. Then go back to the source and edit it to: if (nextchar == 'a') { emit('\a'); break; } and voila'-- the 0x07 is flat out *gone*. There is also the story about the birthday C-compiler, but back to windows...