I bought a bunch of compiler books back in the 90s when I first got interested in that. Yet when I needed to actually write a language parser for work (an XSLT parser for a WinCE device used in automotive telematics), I just got this book on lex and yacc and started learning from some small language parser examples that I grabbed off the web.
For me, the act of actually just doing something was much more effective than trying to churn through all the academic text books on language compilers. Now more recently the ANTLR book I used - though written by an academic - the author actually had working programmers in mind as a primary target audience. It was a much more appropriate book to grab and go and just start doing something with. I'd flip around through the book's different sections as I encountered different aspects of the problem space of the language parser I was trying to create. So it too was a much better learning experience than those formal books I had acquired. There is material here, though, for people that want to delve more deeply. --RogerV On Jan 8, 10:42 am, "John Nilsson" <[email protected]> wrote: > Speaking of books. I went and bought a couple of books based on the > recommendations from language geeks (can't remember if ti was LtU). > One book was Essentials of Programming Languages. In case you are thinking > about getting it: don't. The authors don't write that good and all examples > and concepts are illustrated using Lisp. > > While lisp may be a nice language to write, it is certainly not a good > language to read... > > From the same recommendation list I got Types and Programming Languages > which overlaps a great deal with the first book, and also illustrate > everything using lisp. What saves this book somewhat is that the author > atleast writes better. > > Can anyone suggest better books covering the same topics? > > BR, > John > > On Thu, Jan 8, 2009 at 3:03 PM, James Iry <[email protected]> wrote: > > > I'm a little late to this conversation. > > > For some reason, all the responses have been about parsing. Parsing > > is the easiest problem related to languages - a zillion man hours of > > research have made it a "solved" problem. ANTLR, Rats, Scala's parser > > combinators, whatever. There are reasons to prefer one over the > > other, but in the end whichever route you go the mechanics are all > > pretty easy. > > > The part that does semantic analysis and optimization and code > > generation - that's the fun part. > > > Fortunately, there are plenty of great books on compilers. > > > This one is a classic, but IMHO goes too deep in some areas for a > > first compiler book while simultaneously ignoring many modern compiler > > techniques (at least in the older edition I own). Still, it's a > > classic for a reason: > > >http://www.amazon.com/Compilers-Principles-Techniques-Tools-2nd/dp/03... > > > This one is in Java, but probably needs supplementary material if you > > want to move beyond the compiler he presents (again, at least in the > > edition I own). On the plus side it's a very easy read, especially as > > compared to the previous one: > > >http://www.amazon.com/Modern-Compiler-Implementation-Andrew-Appel/dp/... > > > This one is also in Java and gets a lot of rave reviews, but I've > > never read it: > > >http://www.amazon.com/Programming-Language-Processors-Java-Interprete... > > > If you're targeting the JVM, there's a google group devoted to > > discussing the design and implementation of languages for the JVM: > >http://groups.google.com/group/jvm-languages > > > Somebody else mentioned Lambda the Ultimate. It's a great resource, > > but we (I'm a contributing editor) generally don't discuss basic how- > > to kinds of issues. Be sure to search the site and read the FAQ > > before posting. > > > On Jan 8, 2:13 am, Kram <[email protected]> wrote: > > > Thanks Jan for the advice, I will definitely go ahead and start on > > > that trail. > > > > I too appreciate the thinness of books, and also when they get strait > > > to the point and skip the bloating that can occur in many text > > > books... --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/javaposse?hl=en -~----------~----~----~----~------~----~------~--~---
