[[!template id=project title="Refactoring Aid for C" contact=""" [tech-userlevel](mailto:tech-userlevel@NetBSD.org) """ mentors=""" [David Young](mailto:dyoung@NetBSD.org) """ category="userland" difficulty="hard" duration="3 months" description=""" Write a script that aids refactoring C programs by extracting subroutines from fragments of C code. Do not reinvent the wheel: wherever possible, use existing technology for the parsing and comprehension of C code. Look at projects such as sparse and Coccinelle. Your script should work as a filter that puts the free variables at the top, encloses the rest in curly braces, does something helpful with break, continue, and return statements. That's just a start. This project is tagged "hard" because it's not clearly specified. The first step (like with many projects) is to work out the specification in more detail. """ ]]