Ich suche nach einer Programmiersprache, für die es einen Compiler gibt und die selbstverändernden Code unterstützt. Ich habe gehört, dass Lisp diese Funktionen unterstützt, aber ich habe mich gefragt, ob es eine C/C++/D-ähnliche Sprache mit diesen Funktionen gibt.
Um zu verdeutlichen, was ich meine:
Ich möchte in irgendeiner Weise Zugriff auf den Programmcode zur Laufzeit haben und jede Art von Änderungen daran vornehmen können, d.h. Befehle entfernen, hinzufügen oder ändern. Als ob ich den AstTree meines Programms hätte. Natürlich kann ich diesen Baum nicht in einer kompilierten Sprache haben, also muss es anders gemacht werden. Der Kompilierer müsste die sich selbst modifizierenden Befehle in ihre binär äquivalenten Modifikationen übersetzen, so dass sie zur Laufzeit mit dem kompilierten Code funktionieren würden.
Ich möchte nicht von einer VM abhängig sein, das meinte ich mit kompiliert :)