「シーケンス生成関数」を利用して独自のソースコードを出力するプログラムを書くことは可能ですか?
私がシーケンス生成関数と呼んでいるものは、特定の間隔 (つまり、印刷可能な ascii-charecters (32-126)) から値を返す関数です。ポイントは、この生成されたシーケンスがプログラム独自のソースコードであるべきだということです。ご覧のように、任意のシーケンスを返す関数を実装するのは本当に簡単ですが、返されるシーケンスには関数自体の実装が含まれている必要があるため、非常に簡単な作業ではありません。
これは、そのようなプログラム(およびそれに対応する出力)がどのように見えるかです
#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;
}
個人的にはありえないと思いますが、根本的な問題についてあまり知らないので、ここに私の考えを投稿しました。色々な意見が聞けるのをとても楽しみにしています!