我刚开始学习编译器,我想知道 - 有没有办法告诉GCC(或任何其他编译器)在进程中停止,并给我一个当前状态的文件(例如 - 一个令牌树)?
答案 0 :(得分:0)
一般来说,是的!
构建编译器时,通常最重要的一个调试工具是查看程序的当前表示,甚至更好地查看编译中的状态,以便在转换出错时 - 即编译器错误 - 它可以被识别出来。
然而,倾倒编译器的所有状态可能很多;即使只是大函数的中间表示也可能是成千上万行的纯文本。然后,还有所有相关的数据结构:控制流图,依赖信息,符号等。
有关LLVM和GCC答案的更多详细信息,请参阅this question。