大师兄
计算机基础
编译原理之美
编译原理实战
深入浅出计算机组成原理
详解http
计算机网络通关29讲
linux操作系统
程序员数学基础
趣谈网络协议
操作系统实战
软件工程之美
sql必知必会
算法
常用算法25讲
数据结构与算法之美
前端开发
浏览器工作原理与实践
新时代产品经理进阶之路
全栈工程师修炼指南
flutter核心技术与实战
java-script核心原理解析
nodejs应用开发实战
正则表达式入门
重学前端
type-script入门实战笔记
图解googlev8
vue3源码分析
webassembly入门
跟月影学可视化
前端工程化
logger
webpack
webpackChain
前端性能优化
react性能调优
杂谈
Git实战手册
NodeJS
ReactJS
UI设计
webpack4系列教程
前端知识体系
剑指offer刷题笔记
思考与成长
设计模式手册
大师兄
计算机基础
编译原理之美
编译原理实战
深入浅出计算机组成原理
详解http
计算机网络通关29讲
linux操作系统
程序员数学基础
趣谈网络协议
操作系统实战
软件工程之美
sql必知必会
算法
常用算法25讲
数据结构与算法之美
前端开发
浏览器工作原理与实践
新时代产品经理进阶之路
全栈工程师修炼指南
flutter核心技术与实战
java-script核心原理解析
nodejs应用开发实战
正则表达式入门
重学前端
type-script入门实战笔记
图解googlev8
vue3源码分析
webassembly入门
跟月影学可视化
前端工程化
logger
webpack
webpackChain
前端性能优化
react性能调优
杂谈
Git实战手册
NodeJS
ReactJS
UI设计
webpack4系列教程
前端知识体系
剑指offer刷题笔记
思考与成长
设计模式手册
编译原理之美
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.结课测试
结课测试 | 编译原理的这些知识,你都掌握了吗?