Für den Fall, dass Du es von Hand machen willst/musst, hier mal ein Link zu meinem verwandten Ansatz:
http://www.delphipraxis.net/159366-r...unktionen.html
Ich habe für einen eigenen Codegenerator ein Funktion geschrieben, die Regionen sucht und den Quelltext in Abschnitte zerlegt und diese (nach Änderungen einzelner Abschnitte) wieder zusammen baut. So kann mein Experte Änderungen in bestehenden Units vornehmen und auch auf nachträgliche Änderungen reagieren.
Letztlich zerlege ich den Code in mehrere Stringlisten, formatiere diese und setze das dann wieder zusammen.
Zu einem Codeformatter fehlt natürlich noch einiges, aber vielleicht kannst Du Teile wiederverwenden.