ちょっと疑問に思ったことがあるので、質問させていただきます。
それは、自分自身のソースコードを書き換えるプログラムについてなのですが……

あるプログラムの 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 の条件判定処理)にかかるコストが無視できるほど小さいものであれば、こんなことは考えなくていいのでしょうが、
そうでない場合は、自分自身のソースコードを書きかえるプログラム(コンパイラ言語であれば、書き換えた後、再コンパイルしなければなりませんが……)というのは、現実性があるのでしょうか?


まとめると、
「自分が実行中のフローチャートを、自ら書き換えるプログラム」
の可能性について、お聞きしたいのです。