自分自身を書き換えるプログラム
■ このスレッドは過去ログ倉庫に格納されています
0001kimura
NGNGそれは、自分自身のソースコードを書き換えるプログラムについてなのですが……
あるプログラムの n 行目に、次のような個所があり、(FOR ループによる繰り返し等で)何度も処理されるものとします。
IF T=0 THEN {処理A} ELSE {処理B}
そして、プログラムのスタート時には、T=0 なのですが、プログラムを処理していく中で、T=1 となり、T の値は、二度と 0 には、戻らないものとします。
すると、IF 〜 THEN の条件判定処理にかかるコストをなくすため、ソースコードの n 行目には、プログラムの設計時には、単に、
{処理A}
と、書いておいて、プログラムを実行していく中で、T=1 となった時点で、n 行目を、
{処理B}
と、書き換えたいのです。
-----------------
該当個所の処理(この例では、IF 〜 THEN の条件判定処理)にかかるコストが無視できるほど小さいものであれば、こんなことは考えなくていいのでしょうが、
そうでない場合は、自分自身のソースコードを書きかえるプログラム(コンパイラ言語であれば、書き換えた後、再コンパイルしなければなりませんが……)というのは、現実性があるのでしょうか?
まとめると、
「自分が実行中のフローチャートを、自ら書き換えるプログラム」
の可能性について、お聞きしたいのです。
■ このスレッドは過去ログ倉庫に格納されています