
百度网盘
编译原理是一门经过长期实践的,有着悠久历史的计算机经典课程。作为一名工程师,在实际工作中你经常会碰到需要编译技术的场景,比如:
- 编写界面模板引擎;
- 为项目编写各种各样的 DSL;
- 深度理解甚至编写 Spring、Hibernate、阿里巴巴 Druid 这样的工具。
那如何才能真正掌握编译原理呢?是搜集市面上的教材,埋头苦读吗?要知道,教材往往过于抽象和理论化,如果你没有系统化的学习体系,做不到学以致用,掌握再多的理论知识,也不会形成章法,事倍功半。因此,学习编译原理最关键在于掌握其关键知识点以及核心思维方法,即学即用。
在宫文学看来,优秀的工程师要保持长期的竞争力,需要提升自身的专业素养。而了解与学习基础技术理论并加以实践是一种行之有效的方式。
在这个课程里,他从前端与后端两个层面来讲解编译原理的核心技术点,用具体的案例带你理解抽象的原理,帮助你建立信心,克服畏难情绪,让你在这个过程中一步步趟过雷区,在工作中真正用到编译技术。
为什么你要学习编译原理? 深入了解编译器的前端技术:词法分析、语法分析和语义分析 如何纯手工打造一个词法分析器 语法分析(一):纯手工打造公式计算器 语法分析(二):解决二元表达式中的难点 语法分析(三):实现一门简单的脚本语言 善用Antlr生成词法、语法分析器,提高工作效率 用Antlr重构脚本语言 作用域和生存期:实现块作用域和函数 面向对象:实现数据和方法的封装 闭包: 理解了原理,它就不反直觉了 语义分析(上):如何建立一个完善的类型系统? 语义分析(下):如何做上下文相关情况的处理? 继承和多态:面向对象运行期的动态特性 前端技术应用(一):如何透明地支持数据库分库分表? 前端技术应用(二):如何设计一个报表工具? NFA和DFA:如何自己实现一个正则表达式工具? First和Follow集合:用LL算法推演一个实 移进和规约:用LR算法推演一个实例 对于左递归的语法,为什么我的推导不是左递归的? 期中考试 | 来赴一场100分的约定吧! 高效运行:编译器的后端技术 运行时机制:突破现象看本质,透过语法看运行时 生成汇编代码(一):汇编语言其实不难学 汇编代码编程与栈帧管理 生成汇编代码(二):把脚本编译成可执行文件 中间代码:兼容不同的语言和硬件 后端技术的重用:LLVM不仅仅让你高效 生成IR:实现静态编译的语言 代码优化:为什么你的代码比他的更高效? 数据流分析:你写的程序,它更懂 目标代码的生成和优化(一):如何适应各种硬件架构? 目标代码的生成和优化(二):如何适应各种硬件架构? 内存计算:对海量数据做计算,到底可以有多快? 32 | 字节码生成:为什么Spring技术很强大? 垃圾收集:能否不停下整个世界? 运行时优化:即时编译的原理和作用 案例总结与热点问题答疑:后端部分真的比前端部分难吗? 技术的发展趋势以及其对编译技术的影响 云编程:云计算会如何改变编程模式? 元编程:一边写程序,一边写语言 用程序语言,推动这个世界的演化
阅读全文
常见问题
是否支持单个资源购买?
答:点击“立即购买”,即是单个资源购买。
开通VIP会员后,是否支持全部资源下载,如何开通VIP会员?
答:点击“升级VIP”按钮,支付完成后即可开通VIP会员,VIP会员支持全站课程免费下载。
链接失效怎么办?
答:联系客服QQ:904745566,获取最新下载链接。
原文链接:http://xpozhan.com/other/1317/,转载请注明出处。


评论0