Ja, von Maschinenseite ist das meist moeglich (ausser die Hardware schuetzt den Programmspeicherbereich vor Modifikationen und laesst den PC (programcounter) auch nicht aus diesem Bereich raus).
Auch selbstmodifizierender Code ist moeglich (und z.b. bei Viren beliebt, um einer einfachen Identifikation durch Scanner zu entgehen).
Praktisch ist sowas aber nur recht komliziert zu debuggen und zu warten
Manche Sprachen (wie z.B. APL) sehen sogar eigene Befehle dazu vor (in APL gibts eben ein 'execute', dem ein beliebiger (Programm-)Text zur Ausfuehrung uebergeben werden kann, selbstverstaendlich auch ein zur Laufzeit generierter).
Oder etwas praktischer: Sieh dir Woas (Wiki on a Stick) an, das ist eine selbstmodifizierende XHTML-Datei. Mit einem Browser aufgerufen, kannst Du Zeug 'reintun', das ist dann automatisch in dem File drinnen - sonst wird nichts gebraucht
In Unix mit Shell-Scripts auch ganz leicht moeglich, LISP hat sowas (IIRC) eingebaut und PROLOG besteht sowieso nur aus einer Art ausfuehrbarer Datenbank, die sich gerne mal zur Laufzeit selbst erweitert..
Edit: etwas roboternaeher: Sieh Dir mal http://freecode.com/projects/picsuperoprimizer (netter Tippfehler in der URL) an, da werden alle moeglichen Codesequenzen (innerhalb eines relativ engen Rahmens) generiert und ausprobiert, ob eine vllt. zufaellig genau das macht, was man braucht..
Hat also durchaus auch praktische Anwendungsmoeglichkeiten (die Idee eines Superoptimizers ist ueber 20 Jahre alt).
Lesezeichen