This semester, I am teaching Compilers, and I'm quite happy with how I covered parsing this year. Specifically, I taught students to build a top-down LR parser and it seemed to go relatively well. Update: Laurence asks me to note that he's not as much of a parser theorist as this post makes him out to be. Update: There's an ongoing discussion on Hacker News about this post. I learned a lot from it! Update: Gábor Lehel pointed me to Russell Johnston's post on recursive ascent parsing. It's no...