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