编译原理之美-宫文学-极客时间-返现24元

极客时间专栏 2019-01-18 9:24:48 阅读(7673) 评论(0)

极客时间出品的《编译原理之美》由宫文学所作,宫文学是北京物演科技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技术很强大?

扩展篇

垃圾收集:能否不停下整个世界?

运行吋优化:谈谈即吋编译技术

案例总结与热点问题答疑

第三部分:面向未来的编程语言

编译技术的发展趋势

云编程:云计算吋代是否需要更新的语言特性?

元编程:一边写程序,一边写语言

案例总结与热点问题答疑

结束语:用程序语言,推动这个世界的演化

猿人学banner宣传图

我的公众号:猿人学 Python 上会分享更多心得体会,敬请关注。

***版权申明:若没有特殊说明,文章皆是猿人学 yuanrenxue.con 原创,没有猿人学授权,请勿以任何形式转载。***

说点什么吧...