Задача: Счетчик строк кода
Описание
Создать программу, которая подсчитывает эффективное количество строк кода в проекте.
Задача 1
Функциональные требования
- Программа должна принимать в качестве параметра командной строки имя каталога в котором нужно производить подсчет, а так же типы файлов, которые нужно принимать во внимание.
- Выходными данными программы являются два числа:
- общее число строк во всех обработанных файлах;
- эффективное число строк кода в обработанных файлах.
- Под эффективным числом строк следует понимать все непустые строки, а так же строки не являющиеся комментариями.
Под комментариями следует понимать комментарии в C и C++ стиле.
- Программа должна обрабатывать все файлы указанного типа во всех подкаталогах указанного каталога.
Требования к реализации
См. так же Boost regex.
Задача 2
Данная задача состоит в добавлении многопоточности в исходную программу с целью распараллеливания обработки файлов в больших проектах.
Функциональные требования
- Новый параметер коммандной строки: --threads=N, где N – число нитей, которое программа может создать.
- Файлы при обработке, должны распределяться между потоками управления.
Требования к реализации
- Для организации работы с нитями следует использовать библиотеку Boost thread.