You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
3.7 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 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)