1. 9

  2. 3

    This is one of my favorite compiler books because Wirth consistently chooses very simple, easy-to-implement approaches to problems. It is not so useful for writing an optimizing compiler, but great for a first compiler, or a compiler that needs to compile fast rather than emitting fast code slowly.

    1. 2

      Or for bootstrapping systems from a starting point the builder understands for personal curiosity, mastery, or worries about Karger’s compiler subversion. Wirth’s small subsets of Pascal/Oberon could be a nice starting point for such bootstrapping as the syntax, data sizes, and calling conventions can be tweaked to be more like eventual target. I considered a C variant of Oberon-0 for bootstrapping the small, C compilers.

    2. 3

      I like this book, and I like Wirth’s approach to compilers in general (i.e., keeping them very simple), but the typesetting in his documents is so bad that it makes reading them harder than it needs to be.

      1. 3

        ISTR the printed copy I had was much more readable than this PDF, although it was once I learned that of course all his works were prepared on the same OS, computer, et cetera he built, it made sense why they all had kind of lousy formatting. Which is really too bad, I agree.