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