¿es posible escribir un programa que imprima su propio código fuente utilizando una "función generadora de secuencia"?¿es posible escribir un programa que imprime su propio código fuente utilizando una "función generadora de secuencia"
lo que llamo una función de generación de secuencia es simplemente una función que devuelve un valor de un intervalo específico (es decir, ascii-charecters imprimibles (32-126)). el punto ahora es que esta secuencia generada debería ser el propio código fuente del programa. como ve, implementar una función que devuelve una secuencia arbitraria es realmente trivial, pero dado que la secuencia devuelta debe contener contiene la implementación de la función en sí misma, es una tarea muy no trivial.
Así es como un programa de este tipo (y su salida correspondiente) podría parecerse a
#include <stdio.h>
int fun(int x) {
ins1;
ins2;
ins3;
.
.
.
return y;
}
int main(void) {
int i;
for (i=0; i<size of the program; i++) {
printf("%c", fun(i));
}
return 0;
}
Yo personalmente creo que no es posible, pero ya no sé mucho sobre el asunto subyacente i publicado mis pensamientos aquí. ¡Tengo muchas ganas de escuchar algunas opiniones!
Compruebe el código que publiqué a continuación. Esto es lo que quieres? No estoy 100% seguro de cuáles son tus reglas. – sigfpe