Im Prinzip kann man einfach Codetext in einer Datei erzeugen - dies geht in allen Programmiersprachen
Textuelle Codeerzeugung: Hier wird richtig der Quelltext erzeugt, der von ganz normalen und unabhägigen Compilern und Interpretern interpretiert werden kann.
Mit Templatesprachen sind die Aspekte Modell und Zielcode getrennt.
Das Ideal ist, das ein Code vollständig aus einem Modell generiert werden kann.
Eine weitere Idee ist, dass im Modell der manuell geschriebene Zielcode schon eingebettet ist (z.b. Lex/Yacc - Scanner/Parser-Generatoren)
Ein Codegenerator kann sog. Protektoren in den Text generieren. Bei einer Neugenerierung muss dieser den manuell geschriebenen Code extrahieren und ein den neuen Code einbetten.
Eine einfache Methode ist, dass der Generator die alten Generate sicherheitskopiert. Dann kann man mit diff und patch die manuellen Änderungen sichern und bei der Neugenerieung wieder einspielen. (Dabei kann dann Ideen für einen besseren Codegenerator gewinnen.)
Implementierung: