On 2021-06-21 1:05 a.m., Van Snyder via cctalk wrote:
When I was teaching compiler classes, I liked Richard
J. Le Blanc's
"Crafting a Compiler." I used Waite and Goos once. It was precise but a
bit too terse for the students. The compiler structure I taught was
based upon work of Frank de Remer and Tom Pennello, but their book
"Compiler Construction by Hand and by Tool" never saw print. Frank de
Remer simplified LR with its potentially exponential growth, to SLR and
LALR in his MIT Ph.D. thesis. Yacc (written by Robert Corbett, still a
denizen of the Fortran committees) is a LALR parser generator. I use
the generator written by Al Shannon when he was Charlie Wetherell's
student, now updated, which implements David Pager's algorithm that
generates a parser that is LR where necessary and LALR or SLR or LR(0)
where possible.
But with all this computing science, they have yet to make a clean
meta compiler like Meta II, or Tree meta.