2013-06-27 43 views
1

我正在構建自定義語言的編譯器。編譯器是否可以在沒有運行程序的情況下檢測到任何無限循環條件?編譯器能檢測到無限循環條件嗎?

如果是這樣,我該如何實現它?

+0

請參閱:http://en.wikipedia.org/wiki/Halting_problem不容易的問題。 –

+0

某些編譯器可能檢測到一些循環條件,但如果循環基於循環期間修改的變量的值,那麼編譯器無法猜測運行時將插入的值。 – 2013-06-27 03:04:44

+0

查看全部函數式編程。 – CMCDragonkai

回答

5

您可能能夠檢測到一些無限循環,但通常情況下,您無法檢測到所有可能的無限循環(除非您的自定義語言是專門爲消除一般循環結構而設計的)。見http://en.wikipedia.org/wiki/Halting_problem