认知颠覆 · COGNITIVE OVERTURN
"正确但不优雅"的编译器与"优雅但不完整"的理论——形式化方法的永恒困境
龙书用严谨的形式化方法(属性文法、格理论、不动点定理)为编译器的每个阶段建立了数学保证——"只要满足这些条件,编译器就一定正确"。但现实中,几乎所有生产级编译器都有"绕过理论"的 hack(如 C 的未定义行为、Java 的类型擦除、JavaScript 的 with 语句)。理论提供了正确性的地基,但工程实践总是在理论的边缘做妥协。理解这个张力,比理解任何一个具体的算法都更重要。
来自这本书的解读报告
《编译原理》
这本书回答了如何将自然语言式程序转化为机器可执行代码,答案是用形式化理论统一整个翻译过程
阅读完整解读报告 →