4 ms·
http://www.cs.princeton.edu/~appel/modern/ml/ http://www.cs.princeton.edu/~appel/modern/ml/ http://store.elsevier.com/product.jsp?isbn=9780120884780 http://sto
by Locke1689 15y ago
http://www.cs.princeton.edu/~appel/modern/ml/ http://www.cs.princeton.edu/~appel/modern/ml/
http://store.elsevier.com/product.jsp?isbn=9780120884780 http://store.elsevier.com/product.jsp?isbn=9780120884780
Two of the most important books I own.
Also, thank you for tearing down the dragon book -- I was going to do the same myself.
The dragon book is outdated on parsing, too. It's from a time where single-pass parsing and compilation was sometimes necessary because you didn't have enough memory (or time) to do multiple passes. It certainly doesn't have anything on packrat parsing. It is a historical book -- I would recommend it for no serious purpose (even pedagogical) these days.
- fjellfras 15y agoI have been using Kenneth Louden's book on compiler construction and as a beginner I find it extremely helpful so far.
- haberman 15y ago> http://store.elsevier.com/product.jsp?isbn=9780120884780 http://store.elsevier.com/product.jsp?isbn=9780120884780 I don't trust this book; it has an error that I reported to the authors twice but never heard a word back (or any note of the error in their list of errata). Here's what I wrote to them: Subject: Errata for "Engineering a Compiler" Date: Sat, May 26, 2007 at 8:12 PM Hello, I noticed that your section on DFA minimization is labeled "Hopcroft's Algorithm," but doesn't seem to describe the algorithm explained by Hopcroft in his 1971 paper [0]. Your algorithm appears to be n^2, where Hopcroft's is n log n. David Gries gave a somewhat more digestible presentation of the same algorithm in a follow-up paper in 1972 [1]. Hope this information is useful! Sincerely, <me> [0] John E. Hopcroft. An n log n algorithm for minimizing states in a finite automaton. Technical Report: CS-TR-71-190, 1971. Available online at ftp://reports.stanford.edu/pub/cstr/reports/cs/tr/71/190/CS-TR-71-190.pdf [1] David Gries. Describing an algorithm by Hopcroft. Acta Informatica, 2(2):97-109. Online reference: http://www.springerlink.com/content/r5631549671g6251/ > The dragon book is outdated on parsing, too. It's from a time where single-pass parsing and compilation was sometimes necessary because you didn't have enough memory (or time) to do multiple passes. It certainly doesn't have anything on packrat parsing. I'm pretty sure that all production compilers do one-pass parsing even now because of efficiency concerns. I would be very surprised if any production compiler used packrat parsing which takes O(n) memory.