|Project links: Downloads | CVS | Statistics|
We developers are always trying to find ways to simplify someonelse's tasks. We have coded electronic stylesheets, word processors, payroll systems. But when it comes out to make our own tasks easier, we are reticents, at least.
Andrew Hunt and Thomas Dave, in their fantastic book
The Pragmatic Programmer put it in a clear case form:
every repetitive task must be automatized. We all agree with that,
but how many files we have to edit to rename a class? How many days
we spend writing system documentation just to see it obsoletes as we
write? How many times did we think:
Cpptools is a set of tools for C/C++ development. It tries to simplify many common development tasks. It is intended to support code generation, code analysis, code refactoring and system documentation.
This section partially describes cpptools' features:
CppClassHierarchy parses source files and generates class hierarchy diagrams, showing inheritance relationships and some cases of template instantiations.
CppClassHierarchy.py [-f format] [-o output] [sourcefiles ...]
CppFSMDoc scans sourcefiles looking for @FSM tags inside comments and generates a finite state machine (FSM) diagram for each ocurrence of a block beginning with:
//@FSM begin mydiagramcontaining zero or more transitions, like:
//@FSM 0,1 x=y //@FSM 1,2 y=2 //@FSM 1,3 a=b //@FSM 2,4 c=3 //@FSM 2,5 c=4 //@FSM 3,5 c=5and finishing with:
CppFSMDoc.py [sourcefiles ...]