Um Quellcode zuverlässig ändern zu können, müssen Sie in der Lage sein, ihn auf die gleiche Weise zu analysieren wie ein Compiler, mit Hilfe der Standard-Scoping-Regeln für diese Sprache auf Spracheinheiten zu verweisen und Ihre Änderungen am Code anzugeben. Werkzeuge, die dies tun, heißen Programmumstellung Motoren. Die Bereitstellung dieser ganzen Compiler-Maschinerie, die in die Front-Ends von Produktionssprachen integriert ist, ist mit erheblichem Aufwand verbunden, so dass es nicht viele dieser Tools gibt.
Siehe unser DMS-Software-Reengineering-Werkzeugsatz . Dies ist eine Programmumwandlungsmaschine, die mehrere Sprachen (C, C++, C#, Java, PHP, JavaScript, ...) beherrscht und diese Art von Arbeit ermöglicht. Eine nette Eigenschaft einer Quelle-zu-Quelle-Transformationsmaschine wie DMS ist die Fähigkeit um Transformationen in der (Oberflächen-)Syntax der Sprache(n) zu schreiben, die Sie manipulieren wollen im Gegensatz zu traditionellen, reinen Compiler-ähnlichen Werkzeugen, die darauf bestehen, dass man einfach auf einen abstrakten Syntaxbaum mit viel prozeduralem Code einhackt.
Es ist nicht so einfach wie "oh, ändere das einfach". Aber es ist zuverlässig.
EDIT 6/23/2011: OP sagte, es müsse mit Java und PHP funktionieren. DMS tut es.
0 Stimmen
Anmerkung: Doctor Who hat "frei und offen" am 11. Juli hinzugefügt, also lange nach meiner Antwort.