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