ANTLR is a compiler writing tool, similar Lex/Yacc or Flex/Bison but much more capable, modern, and generally less frustrating. I am currently reading through The Definitive ANTLR 4 Reference by ANTLR’s creator, Terence Parr. It’s a wonderful reasource on the workings and usage of ANTLR, but it’s written in Java – one of my least favorite languages. Thankfully ANTLR targets multiple languages, so I figured I’d follow along in Python – also one of my least favorite languages.