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