课程介绍

编译原理之美

你能通过这门课,实现写出一个编译器的愿望,还能通过 SQL 解析器、报表工具、字节码生成等小练习锻炼自己的动手能力。当然了,你还可以解锁更多应用编译原理的业务场景,将知识活学活用。相信只要沉下心去学习研究,掌握编译技术指日可待!

实现一门脚本语言:通过具体实例,带你了解词法分析、语法分析、语义分析的原理,实现一门脚本语言,并用工具提升效率。

实现一门编译型语言:带你了解如何生成目标代码和对代码进行优化,并引入 LLVM 工具,最后生成可执行的文件能支持即时编译,并经过了多层优化。

面向未来的编程语言:人工智能与编译技术结合是否会出现人工智能编程?这部分是对编译技术发展趋势的一些分析,这些分析会帮助你更好地把握未来技术发展的脉搏。

课程大纲

| ├──01 理解代码:编译器的前端技术.pdf 3.29M
| ├──01理解代码:编译器的前端技术.mp3 4.00M
| ├──02 正则文法和有限自动机:纯手工打造词法分析器.pdf 3.90M
| ├──02正则文法和有限自动机:纯手工打造词法分析器.mp3 3.23M
| ├──03 语法分析(一):纯手工打造公式计算器.mp3 3.82M
| ├──03 语法分析(一):纯手工打造公式计算器.pdf 3.08M
| ├──04 语法分析(二):解决二元表达式中的难点.mp3 3.40M
| ├──04 语法分析(二):解决二元表达式中的难点.pdf 3.16M
| ├──05语法分析(三):实现一门简单的脚本语言.mp3 3.13M
| ├──05语法分析(三):实现一门简单的脚本语言.pdf 1.70M
| ├──06 编译器前端工具(一):用Antlr生成词法、语法分析器.mp3 3.72M
| ├──06 编译器前端工具(一):用Antlr生成词法、语法分析器.pdf 1.99M
| ├──07编译器前端工具(二):用Antlr重构脚本语言.mp3 3.58M
| ├──07编译器前端工具(二):用Antlr重构脚本语言.pdf 2.04M
| ├──08作用域和生存期:实现块作用域和函数.mp3 3.38M
| ├──08作用域和生存期:实现块作用域和函数.pdf 1.83M
| ├──09面向对象:实现数据和方法的封装.mp3 3.12M
| ├──09面向对象:实现数据和方法的封装.pdf 1.72M
| ├──10闭包: 理解了原理,它就不反直觉了.mp3 3.34M
| ├──10闭包: 理解了原理,它就不反直觉了.pdf 1.85M
| ├──11 语义分析(上):如何建立一个完善的类型系统?.mp3 3.80M
| ├──11语义分析(上):如何建立一个完善的类型系统?.pdf 2.70M
| ├──12 语义分析(下):如何做上下文相关情况的处理?.pdf 1.35M
| ├──12 语义分析(下):如何做上下文相关情况的处理?.mp3 3.59M
| ├──13继承和多态:面向对象运行期的动态特性.mp3 3.45M
| ├──13继承和多态:面向对象运行期的动态特性.pdf 2.52M
| ├──14 前端技术应用(一):如何透明地支持数据库分库分表?.mp3 3.56M
| ├──14前端技术应用(一):如何透明地支持数据库分库分表?.pdf 1.47M
| ├──15 前端技术应用(二):如何设计一个报表工具?.mp3 3.04M
| ├──15前端技术应用(二):如何设计一个报表工具?.pdf 1.42M
| ├──16 NFA和DFA:如何自己实现一个正则表达式工具?.mp3 21.89M
| ├──16 NFA和DFA:如何自己实现一个正则表达式工具?.pdf 2.10M
| ├──17 First和Follow集合:用LL算法推演一个实例.pdf 2.99M
| ├──17First和Follow集合:用LL算法推演一个实例.mp3 15.80M
| ├──18 移进和规约:用LR算法推演一个实例.pdf 2.64M
| ├──18移进和规约:用LR算法推演一个实例.mp3 17.21M
| ├──19 案例总结与热点问题答疑:对于左递归的语法,为什么我的推导不是左递归的?.pdf 2.07M
| ├──19案例总结与热点问题答疑:对于左递归的语法,为什么我的推导不是左递归的?.mp3 19.08M
| ├──20 高效运行:编译器的后端技术.pdf 1.65M
| ├──20 高效运行:编译器的后端技术.mp3 14.21M
| ├──21运行时机制:突破现象看本质,透过语法看运行时.mp3 14.52M
| ├──21运行时机制:突破现象看本质,透过语法看运行时.pdf 1.82M
| ├──22 生成汇编代码(一):汇编语言其实不难学.pdf 1.58M
| ├──22生成汇编代码(一):汇编语言其实不难学.mp3 21.66M
| ├──23生成汇编代码(二):把脚本编译成可执行文件.mp3 10.77M
| ├──23生成汇编代码(二):把脚本编译成可执行文件.pdf 2.54M
| ├──24 中间代码:兼容不同的语言和硬件.pdf 1.60M
| ├──24中间代码:兼容不同的语言和硬件.mp3 15.12M
| ├──25 后端技术的重用:LLVM不仅仅让你高效.mp3 15.59M
| ├──25 后端技术的重用:LLVM不仅仅让你高效.pdf 2.76M
| ├──26 生成IR:实现静态编译的语言.mp3 14.49M
| ├──26 生成IR:实现静态编译的语言.pdf 1.90M
| ├──27 代码优化:为什么你的代码比他的更高效?.mp3 24.75M
| ├──27 代码优化:为什么你的代码比他的更高效?.pdf 1.95M
| ├──28 数据流分析:你写的程序,它更懂.pdf 2.14M
| ├──28数据流分析:你写的程序,它更懂.mp3 22.07M
| ├──29 目标代码的生成和优化(一):如何适应各种硬件架构?.pdf 3.14M
| ├──29目标代码的生成和优化(一):如何适应各种硬件架构?.mp3 14.84M
| ├──30 目标代码的生成和优化(二):如何适应各种硬件架构?.mp3 15.53M
| ├──30 目标代码的生成和优化(二):如何适应各种硬件架构?.pdf 2.06M
| ├──31 内存计算:对海量数据做计算,到底可以有多快?.mp3 24.43M
| ├──31 内存计算:对海量数据做计算,到底可以有多快?.pdf 1.73M
| ├──32 字节码生成:为什么Spring技术很强大?.pdf 1.95M
| ├──32字节码生成:为什么Spring技术很强大?.mp3 12.86M
| ├──33 垃圾收集:能否不停下整个世界?.mp3 27.27M
| ├──33垃圾收集:能否不停下整个世界?.pdf 2.87M
| ├──34 运行时优化:即时编译的原理和作用.mp3 13.47M
| ├──34运行时优化:即时编译的原理和作用.pdf 1.69M
| ├──35 案例总结与热点问题答疑:后端部分真的比前端部分难吗?.pdf 1.38M
| ├──35案例总结与热点问题答疑:后端部分真的比前端部分难吗?.mp3 21.00M
| ├──加餐 汇编代码编程与栈帧管理.mp3 12.37M
| ├──加餐 汇编代码编程与栈帧管理.pdf 1.86M
| ├──结束语 真正的高贵,不是优于别人,而是优于过去的自己.mp3 12.12M
| ├──开篇词 为什么你要学习编译原理?.mp3 1.95M
| ├──开篇词 为什么你要学习编译原理?.pdf 3.09M
| ├──期中考试 来赴一场100分的约定吧!.pdf 632.29kb
| └──期中考试 来赴一场100分的约定吧!.mp3 3.34M

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。