PLY is a 100% Python implementation of the common parsing tools lex and yacc.