1
プログラムを終了するためのコンパイラを完全に最適化していますか?
Andrew W. Appelの著書「MLのModern Compiler Implementation」では、第17章で、計算可能性理論は新しい最適化変換を発明することが常に可能であることを示し、完全に最適化するコンパイラーが停止する問題を解決することを証明することに進むと述べています:プログラム出力を生成せず、停止しないQは、最適な表現であるOpt(Q)に簡単に置き換えることができ、「L:goto L」です。したがって、完全に最適化されたコンパイラは、停止する問題を解決できます。 だから私の質問はこれです:プログラムを終了するための完全に最適化されたコンパイラは存在しますか?私の唯一の考えは次のとおりです。プログラムは終了することが保証されていますが、それはまだ任意に複雑である可能性があり、具体的な最適化コンパイラCの場合、おそらくCを入力として受け取り、何らかの形でより悪いプログラムを生成するプログラムを構築できますある種のコーナーケース。 また、自分自身をプログラムの終了に制限することの意味は何ですか?