On Saturday 19 March 2011 17:11:56 Don wrote: > Here's the task: > Given a .d source file, strip out all of the unittest {} blocks, > including everything inside them. > Strip out all comments as well. > Print out the resulting file. > > Motivation: Bug reports frequently come with very large test cases. > Even ones which look small often import from Phobos. > Reducing the test case is the first step in fixing the bug, and it's > frequently ~30% of the total time required. Stripping out the unit tests > is the most time-consuming and error-prone part of reducing the test case. > > This should be a good task if you're relatively new to D but would like > to do something really useful.
Unfortunately, to do that 100% correctly, you need to actually have a working D lexer (and possibly parser). You might be able to get something close enough to work in most cases, but it doesn't take all that much to throw off a basic implementation of this sort of thing if you don't lex/parse it with something which properly understands D. - Jonathan M Davis