课程简介:
通过这门课,实现写出一个编译器的愿望,还能通过 SQL 解析器、报表工具、字节码生成等小练习锻炼自己的动手能力。当然了,你还可以解锁更多应用编译原理的业务场景,将知识活学活用。相信只要沉下心去学习研究,掌握编译技术指日可待!
实现一门脚本语言:通过具体实例,带你了解词法分析、语法分析、语义分析的原理,实现一门脚本语言,并用工具提升效率。
实现一门编译型语言:带你了解如何生成目标代码和对代码进行优化,并引入 LLVM 工具,最后生成可执行的文件能支持即时编译,并经过了多层优化。
面向未来的编程语言:人工智能与编译技术结合是否会出现人工智能编程?这部分是对编译技术发展趋势的一些分析,这些分析会帮助你更好地把握未来技术发展的脉搏。
课程目录:
编译原理之美 /
├──00丨开篇词 (1讲)
| ├──00开篇词丨为什么你要学习编译原理?.html 3.20M
| ├──00开篇词丨为什么你要学习编译原理?.mp3 4.00M
| └──00开篇词丨为什么你要学习编译原理?.pdf 2.96M
├──01丨实现一门脚本语言 · 原理篇 (13讲)
| ├──01丨理解代码:编译器的前端技术.html 4.00M
| ├──01丨理解代码:编译器的前端技术.mp3 7.47M
| ├──01丨理解代码:编译器的前端技术.pdf 3.48M
| ├──02丨正则文法和有限自动机:纯手工打造词法分析器.html 3.21M
| ├──02丨正则文法和有限自动机:纯手工打造词法分析器.mp3 6.14M
| ├──02丨正则文法和有限自动机:纯手工打造词法分析器.pdf 2.86M
| ├──03丨语法分析(一):纯手工打造公式计算器.html 2.75M
| ├──03丨语法分析(一):纯手工打造公式计算器.mp3 7.09M
| ├──03丨语法分析(一):纯手工打造公式计算器.pdf 2.21M
| ├──04丨语法分析(二):解决二元表达式中的难点.html 2.41M
| ├──04丨语法分析(二):解决二元表达式中的难点.mp3 6.40M
| ├──04丨语法分析(二):解决二元表达式中的难点.pdf 2.43M
| ├──05丨语法分析(三):实现一门简单的脚本语言.html 1.92M
| ├──05丨语法分析(三):实现一门简单的脚本语言.mp3 6.31M
| ├──05丨语法分析(三):实现一门简单的脚本语言.pdf 1.62M
| ├──06丨编译器前端工具(一):用Antlr生成词法、语法分析器.html 2.64M
| ├──06丨编译器前端工具(一):用Antlr生成词法、语法分析器.mp3 7.55M
| ├──06丨编译器前端工具(一):用Antlr生成词法、语法分析器.pdf 2.40M
| ├──07丨编译器前端工具(二):用Antlr重构脚本语言.html 2.98M
| ├──07丨编译器前端工具(二):用Antlr重构脚本语言.mp3 7.20M
| ├──07丨编译器前端工具(二):用Antlr重构脚本语言.pdf 2.66M
| ├──08丨作用域和生存期:实现块作用域和函数.html 2.76M
| ├──08丨作用域和生存期:实现块作用域和函数.mp3 6.36M
| ├──08丨作用域和生存期:实现块作用域和函数.pdf 2.83M
| ├──09丨面向对象:实现数据和方法的封装.html 2.71M
| ├──09丨面向对象:实现数据和方法的封装.mp3 6.22M
| ├──09丨面向对象:实现数据和方法的封装.pdf 1.87M
| ├──10丨闭包:理解了原理,它就不反直觉了.html 2.96M
| ├──10丨闭包:理解了原理,它就不反直觉了.m4a 10.41M
| ├──10丨闭包:理解了原理,它就不反直觉了.pdf 3.24M
| ├──11丨语义分析(上):如何建立一个完善的类型系统?.html 2.69M
| ├──11丨语义分析(上):如何建立一个完善的类型系统?.m4a 11.91M
| ├──11丨语义分析(上):如何建立一个完善的类型系统?.pdf 2.39M
| ├──12丨语义分析(下):如何做上下文相关情况的处理?.html 1.45M
| ├──12丨语义分析(下):如何做上下文相关情况的处理?.m4a 11.29M
| ├──12丨语义分析(下):如何做上下文相关情况的处理?.pdf 1.36M
| ├──13丨继承和多态:面向对象运行期的动态特性.html 2.18M
| ├──13丨继承和多态:面向对象运行期的动态特性.m4a 10.82M
| └──13丨继承和多态:面向对象运行期的动态特性.pdf 2.03M
├──02丨实现一门脚本语言 · 应用篇 (2讲)
| ├──14丨前端技术应用(一):如何透明地支持数据库分库分表?.html 2.15M
| ├──14丨前端技术应用(一):如何透明地支持数据库分库分表?.m4a 11.15M
| ├──14丨前端技术应用(一):如何透明地支持数据库分库分表?.pdf 1.84M
| ├──15丨前端技术应用(二):如何设计一个报表工具?.html 2.48M
| ├──15丨前端技术应用(二):如何设计一个报表工具?.m4a 9.63M
| └──15丨前端技术应用(二):如何设计一个报表工具?.pdf 2.26M
├──03丨实现一门脚本语言 · 算法篇 (3讲)
| ├──16丨NFA和DFA:如何自己实现一个正则表达式工具?.html 4.54M
| ├──16丨NFA和DFA:如何自己实现一个正则表达式工具?.m4a 11.50M
| ├──16丨NFA和DFA:如何自己实现一个正则表达式工具?.pdf 4.76M
| ├──17丨First和Follow集合:用LL算法推演一个实例.html 4.02M
| ├──17丨First和Follow集合:用LL算法推演一个实例.m4a 12.42M
| ├──17丨First和Follow集合:用LL算法推演一个实例.pdf 4.03M
| ├──18丨移进和规约:用LR算法推演一个实例.html 8.94M
| ├──18丨移进和规约:用LR算法推演一个实例.m4a 13.51M
| └──18丨移进和规约:用LR算法推演一个实例.pdf 9.66M
├──04丨实现一门脚本语言 · 热点答疑与用户故事 (2讲)
| ├──19丨案例总结与热点问题答疑:对于左递归的语法,为什么我的推导不是左递归的?.html 1.89M
| ├──19丨案例总结与热点问题答疑:对于左递归的语法,为什么我的推导不是左递归的?.m4a 9.96M
| ├──19丨案例总结与热点问题答疑:对于左递归的语法,为什么我的推导不是左递归的?.pdf 1.65M
| ├──用户故事丨因为热爱,所以坚持.html 1.21M
| └──用户故事丨因为热爱,所以坚持.pdf 1.18M
├──05丨编译原理 · 期中考试周 (1讲)
| ├──期中考试丨来赴一场100分的约定吧!.html 884.26kb
| ├──期中考试丨来赴一场100分的约定吧!.m4a 2.59M
| └──期中考试丨来赴一场100分的约定吧!.pdf 666.58kb
├──06丨实现一门编译型语言 · 原理篇 (12讲)
| ├──20丨高效运行:编译器的后端技术.html 2.09M
| ├──20丨高效运行:编译器的后端技术.m4a 10.95M
| ├──20丨高效运行:编译器的后端技术.pdf 1.57M
| ├──21丨运行时机制:突破现象看本质,透过语法看运行时.html 4.65M
| ├──21丨运行时机制:突破现象看本质,透过语法看运行时.m4a 11.38M
| ├──21丨运行时机制:突破现象看本质,透过语法看运行时.pdf 3.61M
| ├──22丨生成汇编代码(一):汇编语言其实不难学.html 3.29M
| ├──22丨生成汇编代码(一):汇编语言其实不难学.m4a 11.33M
| ├──22丨生成汇编代码(一):汇编语言其实不难学.pdf 3.00M
| ├──23丨生成汇编代码(二):把脚本编译成可执行文件.html 2.31M
| ├──23丨生成汇编代码(二):把脚本编译成可执行文件.m4a 8.52M
| ├──23丨生成汇编代码(二):把脚本编译成可执行文件.pdf 2.31M
| ├──24丨中间代码:兼容不同的语言和硬件.html 2.25M
| ├──24丨中间代码:兼容不同的语言和硬件.m4a 11.56M
| ├──24丨中间代码:兼容不同的语言和硬件.pdf 1.95M
| ├──25丨后端技术的重用:LLVM不仅仅让你高效.html 2.65M
| ├──25丨后端技术的重用:LLVM不仅仅让你高效.m4a 12.45M
| ├──25丨后端技术的重用:LLVM不仅仅让你高效.pdf 2.06M
| ├──26丨生成IR:实现静态编译的语言.html 3.19M
| ├──26丨生成IR:实现静态编译的语言.m4a 11.09M
| ├──26丨生成IR:实现静态编译的语言.pdf 1.65M
| ├──27丨代码优化:为什么你的代码比他的更高效?.html 4.03M
| ├──27丨代码优化:为什么你的代码比他的更高效?.m4a 12.74M
| ├──27丨代码优化:为什么你的代码比他的更高效?.pdf 2.45M
| ├──28丨数据流分析:你写的程序,它更懂.html 6.42M
| ├──28丨数据流分析:你写的程序,它更懂.m4a 11.52M
| ├──28丨数据流分析:你写的程序,它更懂.pdf 4.17M
| ├──29丨目标代码的生成和优化(一):如何适应各种硬件架构?.html 5.57M
| ├──29丨目标代码的生成和优化(一):如何适应各种硬件架构?.m4a 11.62M
| ├──29丨目标代码的生成和优化(一):如何适应各种硬件架构?.pdf 3.93M
| ├──30丨目标代码的生成和优化(二):如何适应各种硬件架构?.html 5.19M
| ├──30丨目标代码的生成和优化(二):如何适应各种硬件架构?.m4a 12.17M
| ├──30丨目标代码的生成和优化(二):如何适应各种硬件架构?.pdf 3.59M
| ├──加餐丨汇编代码编程与栈帧管理.html 3.63M
| ├──加餐丨汇编代码编程与栈帧管理.m4a 9.67M
| └──加餐丨汇编代码编程与栈帧管理.pdf 4.06M
├──07丨实现一门编译型语言 · 应用篇 (2讲)
| ├──31丨内存计算:对海量数据做计算,到底可以有多快?.html 3.00M
| ├──31丨内存计算:对海量数据做计算,到底可以有多快?.m4a 12.80M
| ├──31丨内存计算:对海量数据做计算,到底可以有多快?.pdf 1.51M
| ├──32丨字节码生成:为什么Spring技术很强大?.html 3.87M
| ├──32丨字节码生成:为什么Spring技术很强大?.m4a 10.11M
| └──32丨字节码生成:为什么Spring技术很强大?.pdf 2.30M
├──08丨实现一门编译型语言 · 扩展篇 (3讲)
| ├──33丨垃圾收集:能否不停下整个世界?.html 3.85M
| ├──33丨垃圾收集:能否不停下整个世界?.m4a 14.14M
| ├──33丨垃圾收集:能否不停下整个世界?.pdf 2.76M
| ├──34丨运行时优化:即时编译的原理和作用.html 2.64M
| ├──34丨运行时优化:即时编译的原理和作用.m4a 10.11M
| ├──34丨运行时优化:即时编译的原理和作用.pdf 1.37M
| ├──35丨案例总结与热点问题答疑:后端部分真的比前端部分难吗?.html 1.49M
| ├──35丨案例总结与热点问题答疑:后端部分真的比前端部分难吗?.m4a 10.98M
| └──35丨案例总结与热点问题答疑:后端部分真的比前端部分难吗?.pdf 1.02M
├──09丨面向未来的编程语言 (3讲)
| ├──36丨当前技术的发展趋势以及其对编译技术的影响.html 2.21M
| ├──36丨当前技术的发展趋势以及其对编译技术的影响.m4a 13.38M
| ├──36丨当前技术的发展趋势以及其对编译技术的影响.pdf 1.40M
| ├──37丨云编程:云计算会如何改变编程模式?.html 2.46M
| ├──37丨云编程:云计算会如何改变编程模式?.m4a 12.99M
| ├──37丨云编程:云计算会如何改变编程模式?.pdf 1.53M
| ├──38丨元编程:一边写程序,一边写语言.html 2.33M
| ├──38丨元编程:一边写程序,一边写语言.m4a 10.36M
| └──38丨元编程:一边写程序,一边写语言.pdf 1.46M
└──10丨结束语 (1讲)
| ├──结束语丨用程序语言,推动这个世界的演化.html 1.69M
| ├──结束语丨用程序语言,推动这个世界的演化.m4a 7.89M
| └──结束语丨用程序语言,推动这个世界的演化.pdf 1.53M
常见问题FAQ
- 视频课程的格式是什么
- 视频不加密,网盘在线学习,课程免费更新,持续更新
- 怎么发货?
- 有些资源没更新完结怎么办
- 有问题不懂想咨询怎么办