Хотелось бы, чтобы перед каждым изменением препроцессор сохранял текущее состояние файла, чтобы потом эти состояния можно было сравнивать друг с другом.
Есть ли что-нибудь готовое? Умеют ли что-то похожее препроцессоры, которые идут с GCC и Clang?
Насколько трудоемким будет написать свой препроцессор? Есть ли формальное описание того, как он должен работать? Можно ли взять откуда-то готовые тесты?