dustmite − a tool for minimizing D source code.
dustmite [OPTION]... PATH TESTER
DustMite is a tool for minimizing D source code. Reducing C++ code also works quite well via --split *.{c,cpp,h,hpp}:d.
DustMite will parse the source code into a simple hierarchy, and
attempt to shrink it by deleting fragments iteratively, as long as the
result satisfies a user-specified condition.
PATH should be a directory containing a clean copy of the file−set to
reduce.
A file path can also be specified. NAME.EXT will be treated like NAME/NAME.EXT. TESTER should be a shell command which returns 0 for a correct reduction, and anything else otherwise.
−−force
Force reduction of unusual files
−−reduce−only MASK Only reduce paths glob−matching MASK
(may be used multiple times)
−−no−remove REGEXP Do not reduce blocks containing REGEXP
(may be used multiple times)
−−strip−comments
Attempt to remove comments from source code.
−−coverage DIR
Load .lst files corresponding to source files from DIR
−−obfuscate
Instead of reducing, obfuscate the input by replacing words with random substitutions
−−keep−length
Preserve word length when obfuscating
−−split MASK:MODE
Parse and reduce files specified by MASK using the given splitter. Can be repeated. MODE must be one of: files, lines, words, d
−−no−redirect
Don’t redirect stdout/stderr streams of test command.
−j[N] |
Use N look−ahead processes (8 by default) |
|||
−−help |
Show this message |
Less interesting options:
−−strategy STRAT
Set strategy (careful/lookback/pingpong/indepth/inbreadth)
−−dump |
Dump parsed tree to DIR.dump file |
−−dump−html
Dump parsed tree to DIR.html file
−−times
Display verbose spent time breakdown
−−cache DIR
Use DIR as persistent disk cache (in addition to memory cache)
−−trace
Save all attempted reductions to DIR.trace
−−no−save
Disable saving in−progress results
−−no−optimize
Disable tree optimization step (may be useful with −−dump)
The full documentation for dustmite can be found on the GitHub wiki: https://github.com/CyberShadow/DustMite/wiki