4 ms·
It references fewer academic papers than the Dragon book (guess: by a factor of 20). Examples are in "a subset of the language Oberon, which is a condensation
by 13ren 18y ago
It references fewer academic papers than the Dragon book (guess: by a factor of 20).
Examples are in "a subset of the language Oberon, which is a condensation of its ancestors Modula-2 and Pascal".
I'm annoyed by Wirth's EBNF, in which "0 or more repetitions of X" is notated at {X}, when X* has precisely the same meaning, and is much more familiar. However, Wirth's description of it is more intuitive for me as a coder than Kleene closure ("smallest superset of X, including \lamba, closed under concatenation").
conclusion: a compiler book, like the Dragon book, but less academic (that's a good thing) and with Pascal examples.
- eru 18y agoThe dragon book is very old fashioned. (At least from an academic point of view.)
- jimbokun 18y agoIn a good way or a bad way?
- eru 18y agoI like Jones' "The Implementation of Functional Programming Languages" (http://research.microsoft.com/~simonpj/papers/slpj-book-1987/index.htm http://research.microsoft.com/~simonpj/papers/slpj-book-1987...) much more. (Both books do not cover exactly the same topic - but Jones' book has deeper math.)
- 13ren 18y agoWhat do you mean? Just that it cites older references, and not newer ones? Or is it something about the style?
- eru 18y agoAbout the algorithmic techniques they employ. And they do not even consider higher order functions.
- 13ren 18y agoYou mean because they don't consider combinators for parsing? That's the only example I can think of for higher order functions used in compilers. Combinators are much more powerful (though less efficient) than the construction of automata (which the Dragon book covers). I'm implementing parser combinators with some unusual properties at the moment, and then (hope to!) prove some things about them. I wish the Dragon book had covered this approach in the first place. So your comment is relevant to me.
- eru 18y agoI meant - they do not even mention that one could be writing a compiler for a language that includes higher order functions. By the way I found the book 'Modern Compiler Design' (http://www.cs.vu.nl/~dick/MCD.html http://www.cs.vu.nl/~dick/MCD.html) much more helpful.