Оптимизация обычно не требует второго прохода над исходным кодом - первое, что вы должны сделать, - это токенизировать его, а затем работать с токенизированной версией. Единственная причина, по которой вы держитесь за источник, заключается в том, что вам нужно точно воспроизвести его в сообщениях об ошибках, чего, вероятно, нет.