Path: csiph.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Thomas David Rivers Newsgroups: comp.compilers Subject: Re: Self compiling compiler Date: Thu, 31 Mar 2016 14:16:49 -0400 Organization: Aioe.org NNTP Server Lines: 32 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <16-03-017@comp.compilers> References: <16-03-013@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: miucha.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="88891"; mail-complaints-to="abuse@iecc.com" Keywords: tools Posted-Date: 31 Mar 2016 15:59:44 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:1689 ERSHC wrote: >I'd like to teach an undergraduate class based on the Thompson hack >(see Ken Thompson's Turing Award lecture). I don't want to write a >"whole" compiler, so need a compiler that can compile itself, >preferably one that runs under Linux and is reasonably small. Can >anyone point me to something more appropriate than gcc (which is far >from small)? Nicklaus Wirth's "Compiler Construction" text (his 3rd in this genre) describes the small language Oberon-0 and walks thru writing a compiler for this. The compiler targets a RISC architecture for which he provides an emulator. And - Dr. Wirth made the book available for free - you can get it from: http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf and - you can read an HTML version (as well as get a copy of the sources) from: https://www.inf.ethz.ch/personal/wirth/CompilerConstruction/index.html as with all of Dr. Wirth's code - it is very small and very elegant while simulaneously touching on all the major topics. The text and the code are very approachable to an undergraduate student. - Dave Rivers - -- rivers@dignus.com Work: (919) 676-0847