极客时间出品的《编译原理之美》由宫文学所作,宫文学是北京物演科技CEO。本专栏手把手教你实现一个编译器 。
课程订阅及价格:
原价¥99 ,限时¥68 4648 人已学习 · 共36讲 · 每周一 / 三 / 五更新, 本课程为音频+图文。可在极客时间APP/小程序/网站上永久观看。
扫下图二维码购买返现24元。购买成功之后,请加我微信号 dismissmewp ,备注:返现。
编译原理是一门经过长期实践的,有着悠久历史的计算机经典课程。作为一名工程师,在实际工作中你经常会碰到需要编译技术的场景,比如:
- 编写界面模板引擎;
- 为项目编写各种各样的DSL;
- 深度理解甚至编写Spring、Hibernate、阿里巴巴Druid这样的工具。
那如何才能真正掌握编译原理呢?是搜集市面上的教材,埋头苦读吗?要知道,教材往往过于抽象和理论化,如果你没有系统化的学习体系,做不到学以致用,掌握再多的理论知识,也不会形成章法,事倍功半。因此,学习编译原理最关键在于掌握其关键知识点以及核心思维方法,即学即用。
《编译原理之美》讲师介绍
宫文学,北京物演科技CEO,连续创业者,2016年入选厦门市第九批“双百计划”领军型创业人才。他是国内最早做BPM(流程管理平台)和BI平台(大数据平台)的创业者之一,之后也做过电子表单和快速开发平台,这些经历都与编译技术密不可分。
在他看来,优秀的工程师要保持长期的竞争力,需要提升自身的专业素养。而了解与学习基础技术理论并加以实践是一种行之有效的方式。
在这个课程里,他从前端与后端两个层面来讲解编译原理的核心技术点,用具体的案例带你理解抽象的原理,帮助你建立信心,克服畏难情绪,让你在这个过程中一步步趟过雷区,在工作中真正用到编译技术。
你能通过这门课,实现写出一个编译器的愿望,还能通过SQL解析器、报表工具、字节码生成等小练习锻炼自己的动手能力。当然了,你还可以解锁更多应用编译原理的业务场景,将知识活学活用。相信只要沉下心去学习研究,掌握编译技术指日可待!
《编译原理之美》课程模块
课程共36讲,分为三个部分。
第一部分:实现一门脚本语言
通过具体实例,带你了解词法分析、语法分析、语义分析的原理,实现一门脚本语言,并用工具提升效率。
第二部分:实现一门编译型语言
带你了解如何生成目标代码和对代码进行优化,并引入LLVM工具,最后生成可执行的文件能支持即时编译,并经过了多层优化。
第三部分:面向未来的编程语言
人工智能与编译技术结合是否会出现人工智能编程?这部分是对编译技术发展趋势的一些分析,这些分析会帮助你更好地把握未来技术发展的脉搏。
《编译原理之美》课程目录
开篇词 :为什么你要学习编译原理?
第一部分:实现一门脚本语言
原理篇
理解代码:编译器的前端技术
正则文法和有限自动机:纯手工打造词法分析器
语法分析(一):纯手工打造公式计算器
语法分析(二):解决二元表达式中的难点
语法分析(三):实现一门简单的脚本语言
编译器前端工具(一):用Antlr生成词法、语法分析器
编译器前端工具(二):用Antlr重构脚本语言
作用域和生存期:实现块作用域和函数
面向对象:实现数据和方法的封装
闭包:理解了原理,它就不反直觉了
语义分析:上下文相关情况的处理
继承和多态:面向对象运行期的动态特性
应用篇
前端技术应用(一):如何透明地支持数据库分库分表?
前端技术应用(二):如何设计_个报表工具?
算法篇
First和Follow集合:用LL算法推演一个实例
移进和规约:用LR算法推演一个实例
案例总结与热点问题答疑
期中考试周(9.30〜10.6)
编译原理期中试题(100分)
第二部分:实现一门编译型语言
原理篇
高效运行:编译器的后端技术
运行时机制:突破现象看本质,透过语法看运行吋
生成汇编代码(一):汇编语言其实不难学
生成汇编代码(二):把脚本编译成可执行文件
中间代码:兼容不同的语言和硬件
后端技术的重用:LLVM不仅仅让你高效
生成IR:实现静态编译的语言
代码优化:为什么你的代码比他的更高效?
数据流分析:你写的程序,它更懂
目标代码的生成和优化:如何适应各种硬件架构?
应用篇
指令选择:对海量数据做计算,到底可以有多快? 29注解和字节码生成:为什么Spring技术很强大?
扩展篇
垃圾收集:能否不停下整个世界?
运行吋优化:谈谈即吋编译技术
案例总结与热点问题答疑
第三部分:面向未来的编程语言
编译技术的发展趋势
云编程:云计算吋代是否需要更新的语言特性?
元编程:一边写程序,一边写语言
案例总结与热点问题答疑
结束语:用程序语言,推动这个世界的演化

我的公众号:猿人学 Python 上会分享更多心得体会,敬请关注。
***版权申明:若没有特殊说明,文章皆是猿人学 yuanrenxue.con 原创,没有猿人学授权,请勿以任何形式转载。***
说点什么吧...