2013-10-24 25 views
0

我剛開始學習編譯器,我想知道 - 有沒有辦法告訴GCC(或任何其他編譯器)在進程中停止,並給我一個文件與當前狀態(例如 - 令牌樹)?編譯器 - 在進程中止

+1

http://stackoverflow.com/questions/15800230/how-can-i-dump-an-abstract-syntax-tree-generated-by-gcc-into-a-dot-file –

+1

最近新聞:[GCC熔化](http://gcc-melt.org)支持你想要的許多東西。 –

回答

0

一般來說,是的!

在構建編譯器時,通常最重要的調試工具之一是查看當前的程序表示,甚至更好地瞭解整個編譯過程中的狀態,以便在轉換出錯時(即編譯器錯誤) - 它可以被識別。

然而,轉儲編譯器的所有狀態可能會很多;即使只是大函數的中間表示形式,也可能有數萬行純文本。然後,還有所有相關的數據結構:控制流程圖,相關性信息,符號等。

有關LLVM和GCC答案的更多詳細信息,請參見this question