After having spent some time with lexical analysis, today's topic was syntax analysis, top down parsing to be more precise.
As a physicist, I am still impressed by the bloat found in the language of theoretical computer scientists. This came to my mind when I took a look into a book on computability earlier this day, that managed to obfuscate even the rather simple things behind mathematical formalism, and also today when I read through a classic book from Nikolaus Wirth (Pascal, Modula 2, Oberon) which manages to cover stuff in 10 pages, where other books wasted 100.
About books: Wirth's book ("Compilerbau") is 120 pages, the Dragon Book (US) covers 800 pages and it's german translation is split into 2 volumes of about 500 pages each (I'm still dazzled where the additional 200 pages come from).
Other nice books are the ones by Gueting/Erwe (a medium sized book on the topic, this is the one I hope to get tackled completely) and Wilhelm/Maurer (the only book I know of, that goes into OOP language compilation as well, I consider it the most up to date book presently). I also have a book an lex and yacc from O'Reilly, but this only for convenience and examples, as it is not strong in the maths force.
I am not through yet with bottom up parsing, but at least I understand the principal difference now, that a top down parser predicts so long until it got the whole program matched (so much for prophetics in computer science :-) while a bottom up parse reduces the program until it has managed to turn it into the start symbol. Wow.
Thanks to those kind people who trusted me I was able to
the link on the goat book on advogato.
I hope it was not mentioned earlier -- a search engine would benefit this site.
Another good thing for advogato would be a general submission queue for registered or anonymous folks, where some kind of voting scheme could be used to push interesting stuff to the frontpage. At this time, users with observer status tend to use the diary for general communication - that works, but I would rather channel that kind of use into a more explicit form.