Jacob O'Bryant firstname.lastname@example.org
usage: add_docs.py [-h] [-n NAME] [-w WIDTH] [-i] [-e ENVIRONMENT] [-t TAB_WIDTH] [-v VERSION] files [files ...] Adds in-code headers to c++ source files. Writes to stdout unless the -i option is included. positional arguments: files the input files optional arguments: -h, --help show this help message and exit -n NAME, --name NAME Your name (default: Jacob O'Bryant) -w WIDTH, --width WIDTH The maximum line width (default: 74) -i, --in-place modify file in place (default: False) -e ENVIRONMENT, --environment ENVIRONMENT The environment (default: Intel Pentium PC, Arch Linux, gcc 4.8) -t TAB_WIDTH, --tab-width TAB_WIDTH The width of tabs (default: 4) -v VERSION, --version VERSION The starting version (default: 1.0)
To get the usage for the other scripts, run
Python 3.x must be installed.
add_docs.py has a few issues:
- It may fail to insert some headers if it doesn't recognize the code formatting in the source file for the specific function/class opening line thing (whatever that's called).
- It sometimes adds extra stuff to the calls/called by fields.
- When parsing a function or class's code block, it counts the opening and close braces to know when to stop. It can be messed up if there are braces in comments or strings. So don't do that.
The first two problems can be fixed by tightening up the regular expressions.
The sample files were generated by the following commands:
add_docs.py input.cpp > output.cpp list_driver.exe > driver_output.txt parse_test.py driver_output.txt parse_test_output.txt format_plan.py parse_test_output.txt format_plan_output.html
final.cpp is an example of what the output of
add_docs.py should look
like after manual editing.
The output from
parse_test.py can be edited if needed to make adjustments
to the final test plan.
Open-source and stuff.