名师简介:
宫文学,《编译原理之美》和《编译原理实战》课程作者,北京原点代码 CEO。
宫文学是国内最早做 BPM(流程管理平台)和 BI 平台(大数据平台)的创业者之一,还研发过电子表单和低代码开发平台。
他专注于编译技术领域,熟悉各种语言编译器的实现机制,在编译技术之路上具有丰富的实践经验。近期也在参与 OpenHarmony 的推广普及,以及担任工业操作系统项目的专家。
目录:
极客时间 手把手带你写一门编程语言 9章完结百度网盘下载
├─01-开篇词(2讲)
│ ├─开篇词|让我们来写一门计算机语言吧.html
│ ├─开篇词|让我们来写一门计算机语言吧.m4a
│ ├─开篇词|让我们来写一门计算机语言吧.pdf
│ ├─课前热身|开始学习之前我们要准备什么?.html
│ ├─课前热身|开始学习之前我们要准备什么?.m4a
│ └─课前热身|开始学习之前我们要准备什么?.pdf
│
├─02-起步篇:让一门超简单的语言跑起来(2讲)
│ ├─01|实现一门超简单的语言最快需要多久?.html
│ ├─01|实现一门超简单的语言最快需要多久?.m4a
│ ├─01|实现一门超简单的语言最快需要多久?.pdf
│ ├─02|词法分析:识别Token也可以很简单吗?.html
│ ├─02|词法分析:识别Token也可以很简单吗?.m4a
│ ├─02|词法分析:识别Token也可以很简单吗?.pdf
│ ├─03|支持表达式:解析表达式和解析语句有什么不同?.html
│ ├─03|支持表达式:解析表达式和解析语句有什么不同?.m4a
│ ├─03|支持表达式:解析表达式和解析语句有什么不同?.pdf
│ ├─04|如何让我们的语言支持变量和类型?.html
│ ├─04|如何让我们的语言支持变量和类型?.m4a
│ ├─04|如何让我们的语言支持变量和类型?.pdf
│ ├─05|函数实现:是时候让我们的语言支持函数和返回值了.html
│ ├─05|函数实现:是时候让我们的语言支持函数和返回值了.m4a
│ ├─05|函数实现:是时候让我们的语言支持函数和返回值了.pdf
│ ├─06|怎么支持条件语句和循环语句?.html
│ ├─06|怎么支持条件语句和循环语句?.m4a
│ ├─06|怎么支持条件语句和循环语句?.pdf
│ ├─07|怎么设计属于我们自己的虚拟机和字节码?.html
│ ├─07|怎么设计属于我们自己的虚拟机和字节码?.m4a
│ ├─07|怎么设计属于我们自己的虚拟机和字节码?.pdf
│ ├─08|基于TypeScript的虚拟机(一):实现一个简单的栈机.html
│ ├─08|基于TypeScript的虚拟机(一):实现一个简单的栈机.m4a
│ ├─08|基于TypeScript的虚拟机(一):实现一个简单的栈机.pdf
│ ├─09|基于TypeScript的虚拟机(二):丰富特性,支持跳转语句.html
│ ├─09|基于TypeScript的虚拟机(二):丰富特性,支持跳转语句.m4a
│ ├─09|基于TypeScript的虚拟机(二):丰富特性,支持跳转语句.pdf
│ ├─10丨基于C语言的虚拟机(一):实现一个简单的栈机.html
│ ├─10丨基于C语言的虚拟机(一):实现一个简单的栈机.m4a
│ ├─10丨基于C语言的虚拟机(一):实现一个简单的栈机.pdf
│ ├─11丨基于C语言的虚拟机(二):性能增长10倍的秘密.html
│ ├─11丨基于C语言的虚拟机(二):性能增长10倍的秘密.m4a
│ ├─11丨基于C语言的虚拟机(二):性能增长10倍的秘密.pdf
│ ├─12丨物理机上程序运行的硬件环境是怎么样的?.html
│ ├─12丨物理机上程序运行的硬件环境是怎么样的?.m4a
│ ├─12丨物理机上程序运行的硬件环境是怎么样的?.pdf
│ ├─13丨物理机上程序运行的软件环境是怎么样的?.html
│ ├─13丨物理机上程序运行的软件环境是怎么样的?.m4a
│ ├─13丨物理机上程序运行的软件环境是怎么样的?.pdf
│ ├─14丨汇编代码学习(一):熟悉CPU架构和指令集.html
│ ├─14丨汇编代码学习(一):熟悉CPU架构和指令集.m4a
│ ├─14丨汇编代码学习(一):熟悉CPU架构和指令集.pdf
│ ├─15丨汇编语言学习(二):熟悉X86汇编代码.html
│ ├─15丨汇编语言学习(二):熟悉X86汇编代码.m4a
│ ├─15丨汇编语言学习(二):熟悉X86汇编代码.pdf
│ ├─16丨生成本地代码第1关:先把基础搭好.html
│ ├─16丨生成本地代码第1关:先把基础搭好.m4a
│ ├─16丨生成本地代码第1关:先把基础搭好.pdf
│ ├─17丨生成本地代码第2关:变量存储、函数调用和栈帧维护.html
│ ├─17丨生成本地代码第2关:变量存储、函数调用和栈帧维护.m4a
│ ├─17丨生成本地代码第2关:变量存储、函数调用和栈帧维护.pdf
│ ├─18丨生成本地代码第3关:实现完整的功能.html
│ ├─18丨生成本地代码第3关:实现完整的功能.m4a
│ ├─18丨生成本地代码第3关:实现完整的功能.pdf
│ ├─19丨怎么实现一个更好的寄存器算法:原理篇.html
│ ├─19丨怎么实现一个更好的寄存器算法:原理篇.m4a
│ ├─19丨怎么实现一个更好的寄存器算法:原理篇.pdf
│ ├─20|怎么实现一个更好的寄存器分配算法:实现篇.html
│ ├─20|怎么实现一个更好的寄存器分配算法:实现篇.m4a
│ ├─20|怎么实现一个更好的寄存器分配算法:实现篇.pdf
│ ├─21|加深对栈的理解:实现尾递归和尾调用优化.html
│ ├─21|加深对栈的理解:实现尾递归和尾调用优化.m4a
│ └─21|加深对栈的理解:实现尾递归和尾调用优化.pdf
│
├─03-进阶篇:让我们的语言更实用 (2讲)
│ ├─22丨增强编译器前端功能第1步:再识数据流分析技术.html
│ ├─22丨增强编译器前端功能第1步:再识数据流分析技术.m4a
│ ├─22丨增强编译器前端功能第1步:再识数据流分析技术.pdf
│ ├─23丨增强编译器前端功能第2步:增强类型体系.html
│ ├─23丨增强编译器前端功能第2步:增强类型体系.m4a
│ ├─23丨增强编译器前端功能第2步:增强类型体系.pdf
│ ├─24丨增强编译器前端功能第3步:全面的集**算.html
│ ├─24丨增强编译器前端功能第3步:全面的集**算.m4a
│ ├─24丨增强编译器前端功能第3步:全面的集**算.pdf
│ ├─25丨增强编译器前端功能第4步:综**用多种语义分析技术.html
│ ├─25丨增强编译器前端功能第4步:综**用多种语义分析技术.m4a
│ ├─25丨增强编译器前端功能第4步:综**用多种语义分析技术.pdf
│ ├─26丨增强更丰富的类型第1步:如何支持浮点数?.html
│ ├─26丨增强更丰富的类型第1步:如何支持浮点数?.m4a
│ ├─26丨增强更丰富的类型第1步:如何支持浮点数?.pdf
│ ├─27丨增加更丰富的类型第2步:如何支持字符串?.html
│ ├─27丨增加更丰富的类型第2步:如何支持字符串?.m4a
│ ├─27丨增加更丰富的类型第2步:如何支持字符串?.pdf
│ ├─28丨增加更丰富的类型第3步:支持数组.html
│ ├─28丨增加更丰富的类型第3步:支持数组.m4a
│ ├─28丨增加更丰富的类型第3步:支持数组.pdf
│ ├─29|面向对象编程第1步:先把基础搭好.html
│ ├─29|面向对象编程第1步:先把基础搭好.m4a
│ ├─29|面向对象编程第1步:先把基础搭好.pdf
│ ├─30|面向对象编程第2步:剖析一些技术细节.html
│ ├─30|面向对象编程第2步:剖析一些技术细节.m4a
│ ├─30|面向对象编程第2步:剖析一些技术细节.pdf
│ ├─31|面向对象编程第2步:支持继承和多态.html
│ ├─31|面向对象编程第2步:支持继承和多态.m4a
│ ├─31|面向对象编程第2步:支持继承和多态.pdf
│ ├─32丨函数式编程第1关:实现高阶函数.html
│ ├─32丨函数式编程第1关:实现高阶函数.m4a
│ ├─32丨函数式编程第1关:实现高阶函数.pdf
│ ├─33丨函数式编程第2关:实现闭包特性.html
│ ├─33丨函数式编程第2关:实现闭包特性.m4a
│ ├─33丨函数式编程第2关:实现闭包特性.pdf
│ ├─34丨内存管理第1关:Arena技术和元数据.html
│ ├─34丨内存管理第1关:Arena技术和元数据.m4a
│ ├─34丨内存管理第1关:Arena技术和元数据.pdf
│ ├─35丨内存管理第2关:实现垃圾回收.html
│ ├─35丨内存管理第2关:实现垃圾回收.m4a
│ └─35丨内存管理第2关:实现垃圾回收.pdf
│
├─04-期中测试 (1讲)
│ ├─期中测试丨快来检验你在起步篇的学习成果吧.html
│ ├─期中测试丨快来检验你在起步篇的学习成果吧.m4a
│ └─期中测试丨快来检验你在起步篇的学习成果吧.pdf
│
├─05-用户分享 (1讲)
│ ├─“它山之石”丨Sugar:这门课你可以试试这么学.html
│ ├─“它山之石”丨Sugar:这门课你可以试试这么学.m4a
│ └─“它山之石”丨Sugar:这门课你可以试试这么学.pdf
│
├─06-不定时加餐 (1讲)
│ ├─“屠龙之秘”丨实现计算机语言这样的技术能用在哪里?(一).m4a
│ └─“屠龙之秘”丨实现计算机语言这样的技术能用在哪里?(一).pdf
│
├─07-优化篇:让程序的性能更高(1讲)
│ ├─36丨节点之海:怎么生成基于图的IR?.html
│ ├─36丨节点之海:怎么生成基于图的IR?.m4a
│ ├─36丨节点之海:怎么生成基于图的IR?.pdf
│ ├─37丨从AST到IR:体会数据流和控制流思维.html
│ ├─37丨从AST到IR:体会数据流和控制流思维.m4a
│ ├─37丨从AST到IR:体会数据流和控制流思维.pdf
│ ├─38丨中端优化第1关:实现多种本地优化.html
│ ├─38丨中端优化第1关:实现多种本地优化.m4a
│ ├─38丨中端优化第1关:实现多种本地优化.pdf
│ ├─39丨中端优化第2关:全局优化要怎么搞?.html
│ ├─39丨中端优化第2关:全局优化要怎么搞?.m4a
│ ├─39丨中端优化第2关:全局优化要怎么搞?.pdf
│ ├─40丨中端优化第3关:一起来挑战过程间优化.html
│ ├─40丨中端优化第3关:一起来挑战过程间优化.m4a
│ ├─40丨中端优化第3关:一起来挑战过程间优化.pdf
│ ├─41丨后端优化:生成LIR和指令选择.html
│ ├─41丨后端优化:生成LIR和指令选择.m4a
│ └─41丨后端优化:生成LIR和指令选择.pdf
│
├─08-展望篇:实现自主语言的征途(1讲)
│ ├─42丨到这里,我们的收获和未尽的工作有哪些?.html
│ ├─42丨到这里,我们的收获和未尽的工作有哪些?.m4a
│ └─42丨到这里,我们的收获和未尽的工作有哪些?.pdf
│
└─09-结束语
│
├─结束语丨等待你大展身手的那些领域.html
├─结束语丨等待你大展身手的那些领域.m4a
└─结束语丨等待你大展身手的那些领域.pdf
请先
!