# SUMMARY * [简介](./README.md) * [开篇词 | 为什么你要学习编译原理?](./docs/118016.md) * [01 | 理解代码:编译器的前端技术](./docs/118132.md) * [02 | 正则文法和有限自动机:纯手工打造词法分析器](./docs/118378.md) * [03 | 语法分析(一):纯手工打造公式计算器](./docs/119891.md) * [04 | 语法分析(二):解决二元表达式中的难点](./docs/120388.md) * [05 | 语法分析(三):实现一门简单的脚本语言](./docs/125926.md) * [06 | 编译器前端工具(一):用Antlr生成词法、语法分析器](./docs/126910.md) * [07 | 编译器前端工具(二):用Antlr重构脚本语言](./docs/127781.md) * [08 | 作用域和生存期:实现块作用域和函数](./docs/128623.md) * [09 | 面向对象:实现数据和方法的封装](./docs/130422.md) * [10 | 闭包: 理解了原理,它就不反直觉了](./docs/131317.md) * [11 | 语义分析(上):如何建立一个完善的类型系统?](./docs/132693.md) * [12 | 语义分析(下):如何做上下文相关情况的处理?](./docs/133737.md) * [13 | 继承和多态:面向对象运行期的动态特性](./docs/134978.md) * [14 | 前端技术应用(一):如何透明地支持数据库分库分表?](./docs/135954.md) * [15 | 前端技术应用(二):如何设计一个报表工具?](./docs/136557.md) * [16 | NFA和DFA:如何自己实现一个正则表达式工具?](./docs/137286.md) * [17 | First和Follow集合:用LL算法推演一个实例](./docs/138385.md) * [18 | 移进和规约:用LR算法推演一个实例](./docs/139628.md) * [19 | 案例总结与热点问题答疑:对于左递归的语法,为什么我的推导不是左递归的?](./docs/140740.md) * [用户故事 | 因为热爱,所以坚持](./docs/142145.md) * [期中考试 | 来赴一场100分的约定吧!](./docs/143135.md) * [20 | 高效运行:编译器的后端技术](./docs/145472.md) * [21 | 运行时机制:突破现象看本质,透过语法看运行时](./docs/146635.md) * [22 | 生成汇编代码(一):汇编语言其实不难学](./docs/147854.md) * [加餐 | 汇编代码编程与栈帧管理](./docs/149891.md) * [23 | 生成汇编代码(二):把脚本编译成可执行文件](./docs/150798.md) * [24 | 中间代码:兼容不同的语言和硬件](./docs/151939.md) * [25 | 后端技术的重用:LLVM不仅仅让你高效](./docs/153192.md) * [26 | 生成IR:实现静态编译的语言](./docs/154438.md) * [27 | 代码优化:为什么你的代码比他的更高效?](./docs/155338.md) * [28 | 数据流分析:你写的程序,它更懂](./docs/156878.md) * [29 | 目标代码的生成和优化(一):如何适应各种硬件架构?](./docs/158315.md) * [30 | 目标代码的生成和优化(二):如何适应各种硬件架构?](./docs/159552.md) * [31 | 内存计算:对海量数据做计算,到底可以有多快?](./docs/160990.md) * [32 | 字节码生成:为什么Spring技术很强大?](./docs/161944.md) * [33 | 垃圾收集:能否不停下整个世界?](./docs/162854.md) * [34 | 运行时优化:即时编译的原理和作用](./docs/164017.md) * [35 | 案例总结与热点问题答疑:后端部分真的比前端部分难吗?](./docs/165078.md) * [36 | 当前技术的发展趋势以及其对编译技术的影响](./docs/166031.md) * [37 | 云编程:云计算会如何改变编程模式?](./docs/167157.md) * [38 | 元编程:一边写程序,一边写语言](./docs/168124.md) * [结束语 | 用程序语言,推动这个世界的演化](./docs/169042.md) * [第二季回归 | 这次,我们一起实战解析真实世界的编译器](./docs/243248.md) * [结课测试 | 编译原理的这些知识,你都掌握了吗?](./docs/241656.md)