Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx02.iad01.newshosting.com!newshosting.com!198.186.194.249.MISMATCH!transit3.readnews.com!news-out.readnews.com!news-xxxfer.readnews.com!news.misty.com!news.iecc.com!nerds-end From: Alain Ketterlin Newsgroups: comp.compilers Subject: Re: Good practical language and OS agnostic text? Date: Wed, 18 Apr 2012 18:24:00 +0200 Organization: Universites Paris VI/Paris VII - France Lines: 28 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <12-04-023@comp.compilers> References: <12-04-019@comp.compilers> NNTP-Posting-Host: news.iecc.com X-Trace: leila.iecc.com 1334781842 39483 64.57.183.58 (18 Apr 2012 20:44:02 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Wed, 18 Apr 2012 20:44:02 +0000 (UTC) Keywords: books Posted-Date: 18 Apr 2012 16:44:02 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:566 compilers@is-not-my.name writes: > Guys, I'm having a bear of a time finding a good practical language > and OS agnostic text on writing a compiler. I'm weak in math and not > interested in the theoretical details. I want to understand the hows > and whys of compiler writing. [...] First, don't expect to understand much of compilation without at least some background in discrete maths (some basic language theory, but also graph theory if you go down later stages), and of course algorithmics and programming. Second, don't think compilation is all about language theory. For instance, control-flow analysis is heavy on graph traversals, code generation may use subtle algorithmics (e.g., dynamic programming), etc. And optimization techniques may use whatever will provide a suitable model (some loop optimizations make heavy use of linear algebra). Of course, if you're interested in compilers you'll become interested into all the theories/topics they use. And I think it's a very nice way to learn a lot about computer science. OK, now my suggestion: "Modern Compiler Implementation", by Andrew Appel, which imho has the perfect balance between theory and implementation. You are allowed to choose the implementation language: the book exists in C, Java, and ML versions. -- Alain.