名师简介:
宫文学,北京原点代码 CEO,连续创业者,2016 年入选厦门市第九批“双百计划”领军型创业人才。他是国内最早做 BPM(流程管理平台)和 BI 平台(大数据平台)的创业者之一,之后也做过电子表单和快速开发平台,这些经历都与编译技术密不可分。
我喜欢做平台性的软件,而编译技术就是产品取得优势的关键。我是国内最早一拨做 BPM
的,也就是流程管理平台,也是最早一拨做 BI 平台的,现在流行叫大数据。当时我们只有
3 个人,用编译技术做了一些硬核的产品原型,跟联想集团签订了战略级合作协议。之后我
又做过电子表单和快速开发平台,而它们的核心就是编译技术。
目录:
极客时间-编译原理之美 41讲百度网盘下载
├─00丨开篇词 (1讲)
│ ├─00开篇词丨为什么你要学习编译原理?.html
│ ├─00开篇词丨为什么你要学习编译原理?.mp3
│ └─00开篇词丨为什么你要学习编译原理?.pdf
│
├─01丨实现一门脚本语言 · 原理篇 (13讲)
│ ├─01丨理解代码:编译器的前端技术.html
│ ├─01丨理解代码:编译器的前端技术.mp3
│ ├─01丨理解代码:编译器的前端技术.pdf
│ ├─02丨正则文法和有限自动机:纯手工打造词法分析器.html
│ ├─02丨正则文法和有限自动机:纯手工打造词法分析器.mp3
│ ├─02丨正则文法和有限自动机:纯手工打造词法分析器.pdf
│ ├─03丨语法分析(一):纯手工打造公式计算器.html
│ ├─03丨语法分析(一):纯手工打造公式计算器.mp3
│ ├─03丨语法分析(一):纯手工打造公式计算器.pdf
│ ├─04丨语法分析(二):解决二元表达式中的难点.html
│ ├─04丨语法分析(二):解决二元表达式中的难点.mp3
│ ├─04丨语法分析(二):解决二元表达式中的难点.pdf
│ ├─05丨语法分析(三):实现一门简单的脚本语言.html
│ ├─05丨语法分析(三):实现一门简单的脚本语言.mp3
│ ├─05丨语法分析(三):实现一门简单的脚本语言.pdf
│ ├─06丨编译器前端工具(一):用Antlr生成词法、语法分析器.html
│ ├─06丨编译器前端工具(一):用Antlr生成词法、语法分析器.mp3
│ ├─06丨编译器前端工具(一):用Antlr生成词法、语法分析器.pdf
│ ├─07丨编译器前端工具(二):用Antlr重构脚本语言.html
│ ├─07丨编译器前端工具(二):用Antlr重构脚本语言.mp3
│ ├─07丨编译器前端工具(二):用Antlr重构脚本语言.pdf
│ ├─08丨作用域和生存期:实现块作用域和函数.html
│ ├─08丨作用域和生存期:实现块作用域和函数.mp3
│ ├─08丨作用域和生存期:实现块作用域和函数.pdf
│ ├─09丨面向对象:实现数据和方法的封装.html
│ ├─09丨面向对象:实现数据和方法的封装.mp3
│ ├─09丨面向对象:实现数据和方法的封装.pdf
│ ├─10丨闭包:理解了原理,它就不反直觉了.html
│ ├─10丨闭包:理解了原理,它就不反直觉了.m4a
│ ├─10丨闭包:理解了原理,它就不反直觉了.pdf
│ ├─11丨语义分析(上):如何建立一个完善的类型系统?.html
│ ├─11丨语义分析(上):如何建立一个完善的类型系统?.m4a
│ ├─11丨语义分析(上):如何建立一个完善的类型系统?.pdf
│ ├─12丨语义分析(下):如何做上下文相关情况的处理?.html
│ ├─12丨语义分析(下):如何做上下文相关情况的处理?.m4a
│ ├─12丨语义分析(下):如何做上下文相关情况的处理?.pdf
│ ├─13丨继承和多态:面向对象运行期的动态特性.html
│ ├─13丨继承和多态:面向对象运行期的动态特性.m4a
│ └─13丨继承和多态:面向对象运行期的动态特性.pdf
│
├─02丨实现一门脚本语言 · 应用篇 (2讲)
│ ├─14丨前端技术应用(一):如何透明地支持数据库分库分表?.html
│ ├─14丨前端技术应用(一):如何透明地支持数据库分库分表?.m4a
│ ├─14丨前端技术应用(一):如何透明地支持数据库分库分表?.pdf
│ ├─15丨前端技术应用(二):如何设计一个报表工具?.html
│ ├─15丨前端技术应用(二):如何设计一个报表工具?.m4a
│ └─15丨前端技术应用(二):如何设计一个报表工具?.pdf
│
├─03丨实现一门脚本语言 · 算法篇 (3讲)
│ ├─16丨NFA和DFA:如何自己实现一个正则表达式工具?.html
│ ├─16丨NFA和DFA:如何自己实现一个正则表达式工具?.m4a
│ ├─16丨NFA和DFA:如何自己实现一个正则表达式工具?.pdf
│ ├─17丨First和Follow集合:用LL算法推演一个实例.html
│ ├─17丨First和Follow集合:用LL算法推演一个实例.m4a
│ ├─17丨First和Follow集合:用LL算法推演一个实例.pdf
│ ├─18丨移进和规约:用LR算法推演一个实例.html
│ ├─18丨移进和规约:用LR算法推演一个实例.m4a
│ └─18丨移进和规约:用LR算法推演一个实例.pdf
│
├─04丨实现一门脚本语言 · 热点答疑与用户故事 (2讲)
│ ├─19丨案例总结与热点问题答疑:对于左递归的语法,为什么我的推导不是左递归的?.html
│ ├─19丨案例总结与热点问题答疑:对于左递归的语法,为什么我的推导不是左递归的?.m4a
│ ├─19丨案例总结与热点问题答疑:对于左递归的语法,为什么我的推导不是左递归的?.pdf
│ ├─用户故事丨因为热爱,所以坚持.html
│ └─用户故事丨因为热爱,所以坚持.pdf
│
├─05丨编译原理 · 期中考试周 (1讲)
│ ├─期中考试丨来赴一场100分的约定吧!.html
│ ├─期中考试丨来赴一场100分的约定吧!.m4a
│ └─期中考试丨来赴一场100分的约定吧!.pdf
│
├─06丨实现一门编译型语言 · 原理篇 (12讲)
│ ├─20丨高效运行:编译器的后端技术.html
│ ├─20丨高效运行:编译器的后端技术.m4a
│ ├─20丨高效运行:编译器的后端技术.pdf
│ ├─21丨运行时机制:突破现象看本质,透过语法看运行时.html
│ ├─21丨运行时机制:突破现象看本质,透过语法看运行时.m4a
│ ├─21丨运行时机制:突破现象看本质,透过语法看运行时.pdf
│ ├─22丨生成汇编代码(一):汇编语言其实不难学.html
│ ├─22丨生成汇编代码(一):汇编语言其实不难学.m4a
│ ├─22丨生成汇编代码(一):汇编语言其实不难学.pdf
│ ├─23丨生成汇编代码(二):把脚本编译成可执行文件.html
│ ├─23丨生成汇编代码(二):把脚本编译成可执行文件.m4a
│ ├─23丨生成汇编代码(二):把脚本编译成可执行文件.pdf
│ ├─24丨中间代码:兼容不同的语言和硬件.html
│ ├─24丨中间代码:兼容不同的语言和硬件.m4a
│ ├─24丨中间代码:兼容不同的语言和硬件.pdf
│ ├─25丨后端技术的重用:LLVM不仅仅让你高效.html
│ ├─25丨后端技术的重用:LLVM不仅仅让你高效.m4a
│ ├─25丨后端技术的重用:LLVM不仅仅让你高效.pdf
│ ├─26丨生成IR:实现静态编译的语言.html
│ ├─26丨生成IR:实现静态编译的语言.m4a
│ ├─26丨生成IR:实现静态编译的语言.pdf
│ ├─27丨代码优化:为什么你的代码比他的更高效?.html
│ ├─27丨代码优化:为什么你的代码比他的更高效?.m4a
│ ├─27丨代码优化:为什么你的代码比他的更高效?.pdf
│ ├─28丨数据流分析:你写的程序,它更懂.html
│ ├─28丨数据流分析:你写的程序,它更懂.m4a
│ ├─28丨数据流分析:你写的程序,它更懂.pdf
│ ├─29丨目标代码的生成和优化(一):如何适应各种硬件架构?.html
│ ├─29丨目标代码的生成和优化(一):如何适应各种硬件架构?.m4a
│ ├─29丨目标代码的生成和优化(一):如何适应各种硬件架构?.pdf
│ ├─30丨目标代码的生成和优化(二):如何适应各种硬件架构?.html
│ ├─30丨目标代码的生成和优化(二):如何适应各种硬件架构?.m4a
│ ├─30丨目标代码的生成和优化(二):如何适应各种硬件架构?.pdf
│ ├─加餐丨汇编代码编程与栈帧管理.html
│ ├─加餐丨汇编代码编程与栈帧管理.m4a
│ └─加餐丨汇编代码编程与栈帧管理.pdf
│
├─07丨实现一门编译型语言 · 应用篇 (2讲)
│ ├─31丨内存计算:对海量数据做计算,到底可以有多快?.html
│ ├─31丨内存计算:对海量数据做计算,到底可以有多快?.m4a
│ ├─31丨内存计算:对海量数据做计算,到底可以有多快?.pdf
│ ├─32丨字节码生成:为什么Spring技术很强大?.html
│ ├─32丨字节码生成:为什么Spring技术很强大?.m4a
│ └─32丨字节码生成:为什么Spring技术很强大?.pdf
│
├─08丨实现一门编译型语言 · 扩展篇 (3讲)
│ ├─33丨垃圾收集:能否不停下整个世界?.html
│ ├─33丨垃圾收集:能否不停下整个世界?.m4a
│ ├─33丨垃圾收集:能否不停下整个世界?.pdf
│ ├─34丨运行时优化:即时编译的原理和作用.html
│ ├─34丨运行时优化:即时编译的原理和作用.m4a
│ ├─34丨运行时优化:即时编译的原理和作用.pdf
│ ├─35丨案例总结与热点问题答疑:后端部分真的比前端部分难吗?.html
│ ├─35丨案例总结与热点问题答疑:后端部分真的比前端部分难吗?.m4a
│ └─35丨案例总结与热点问题答疑:后端部分真的比前端部分难吗?.pdf
│
├─09丨面向未来的编程语言 (3讲)
│ ├─36丨当前技术的发展趋势以及其对编译技术的影响.html
│ ├─36丨当前技术的发展趋势以及其对编译技术的影响.m4a
│ ├─36丨当前技术的发展趋势以及其对编译技术的影响.pdf
│ ├─37丨云编程:云计算会如何改变编程模式?.html
│ ├─37丨云编程:云计算会如何改变编程模式?.m4a
│ ├─37丨云编程:云计算会如何改变编程模式?.pdf
│ ├─38丨元编程:一边写程序,一边写语言.html
│ ├─38丨元编程:一边写程序,一边写语言.m4a
│ └─38丨元编程:一边写程序,一边写语言.pdf
│
└─10丨结束语 (1讲)
│
├─结束语丨用程序语言,推动这个世界的演化.html
├─结束语丨用程序语言,推动这个世界的演化.m4a
└─结束语丨用程序语言,推动这个世界的演化.pdf
请先
!