Parser Tools , a component of Tcllib, is an evolutionary improvement over grammar::peg, and has the beginnings of very nice documentation.