With the start of the Language Jam tomorrow, I figured I would point eager language developers to my calculANTLR, a sample code base for using ANTLR and ASDL in C++.
ANTLR is for defining concrete syntax. It's like a combined lex & yacc and is far more modern.
ASDL is for defining abstract syntax. This is useful for embedding semantic information, like type annotations and identifier resolution.