4 Nov 2000 (updated 4 Nov 2000 at 16:57 UTC)
»
Compiler writing
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.
Advogato related
Thanks to those kind people who trusted me I was able to
post
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.