Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!news.iecc.com!nerds-end From: compilers@is-not-my.name Newsgroups: comp.compilers Subject: Re: Good practical language and OS agnostic text? Date: Fri, 20 Apr 2012 16:06:21 -0000 Organization: Compilers Central Lines: 19 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <12-04-050@comp.compilers> References: <12-04-030@comp.compilers> NNTP-Posting-Host: news.iecc.com X-Trace: leila.iecc.com 1334978518 47281 64.57.183.58 (21 Apr 2012 03:21:58 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Sat, 21 Apr 2012 03:21:58 +0000 (UTC) Keywords: books Posted-Date: 20 Apr 2012 23:21:58 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com X-Received-Bytes: 2011 Xref: csiph.com comp.compilers:593 Bakul Shah wrote: > Check out Nils M Holm's "Practical Compiler Construction", available > at lulu.com. It is a 365 page "tour" through a *complete* compiler for > a subset of C language. The compiler can compile itself and you can > download the code from author's site (www.t3x.org). It doesn't use > lex or yacc (just a hand-rolled scanner and a recursive descent > parser). The compiler is about 4300 lines of code. It describes all > the key concepts but given the simple design doesn't go into a lot of > details (beyond describing the code). The book describes a i386 code > generator. The code generator interface seems well enough abstracted. > When challenged, Nils put together a x86-64 backend in a day! Thanks for the description on this. I have downloaded a bunch of free books over the years and I do have this one. Part of my problem is sorting through them and understanding if they're something I could use. Your comments are very helpful especially since you mentioned he explains all the code and doesn't use external tools.