The parser-generator yacc is one of the oldest examples of a domain-specific language, providing significant enhancements over hand-coded parsers in the area of speed, efficiency and maintainability. Despite its widespread use, often in highly complex systems such as compilers or program analysis tools, there is relatively little written about the integration of parsing, and yacc-based parsers in particular, into the software engineering process. We exploit software metrics as an aid toward estimating the complexity of preparing a grammar for the ISO C++ programming language for input to yacc. Our metrics provide a means of assessing the relative merits of the trade-off between preserving the grammar's structure and rearranging it to ease implementation of the resulting parser. We see this work as part of a larger process of designing well-engineered, re-usable and reliable program processors, which themselves will play an important role in the future design of code-based software-engineering tools.