JK-手把手带你写一门编程语言

1.开篇词

├──开篇词|让我们来写一门计算机语言吧

├──课前热身|开始学习之前我们要准备什么?

2.起步篇:让一门超简单的语言跑起来

├──01|实现一门超简单的语言最快需要多久?

├──02|词法分析:识别Token也可以很简单吗?

├──03|支持表达式:解析表达式和解析语句有什么不同?

├──04|如何让我们的语言支持变量和类型?

├──05|函数实现:是时候让我们的语言支持函数和返回值了

├──06|怎么支持条件语句和循环语句?

├──07|怎么设计属于我们自己的虚拟机和字节码?

├──08|基于TypeScript的虚拟机(一):实现一个简单的栈机

├──09|基于TypeScript的虚拟机(二):丰富特性,支持跳转语句

├──10|基于C语言的虚拟机(一):实现一个简单的栈机

├──11|基于C语言的虚拟机(二):性能增长10倍的秘密

├──12|物理机上程序运行的硬件环境是怎么样的?

├──13|物理机上程序运行的软件环境是怎么样的?

├──14|汇编代码学习(一):熟悉CPU架构和指令集

├──15|汇编语言学习(二):熟悉X86汇编代码

├──16|生成本地代码第1关:先把基础搭好

├──17|生成本地代码第2关:变量存储、函数调用和栈帧维护

├──18|生成本地代码第3关:实现完整的功能

├──19|怎么实现一个更好的寄存器分配算法:原理篇

├──20|怎么实现一个更好的寄存器分配算法:实现篇

├──21|加深对栈的理解:实现尾递归和尾调用优化

3.期中测试

├──期中测试|快来检验你在起步篇的学习成果吧

4.用户分享

├──“他山之石”|Sugar:这门课你可以试试这么学

5.不定时加餐

├──“屠龙之秘”|实现计算机语言这样的技术能用在哪里?(一)

6.进阶篇:让我们的语言更实用

├──22|增强编译器前端功能第1步:再识数据流分析技术

├──23|增强编译器前端功能第2步:增强类型体系

├──24|增强编译器前端功能第3步:全面的集合运算

├──25|增强编译器前端功能第4步:综合运用多种语义分析技术

├──26|增强更丰富的类型第1步:如何支持浮点数?

├──27|增加更丰富的类型第2步:如何支持字符串?

├──28|增加更丰富的类型第3步:支持数组

├──29|面向对象编程第1步:先把基础搭好

├──30|面向对象编程第2步:剖析一些技术细节

├──31|面向对象编程第3步:支持继承和多态

├──32|函数式编程第1关:实现高阶函数

├──33|函数式编程第2关:实现闭包特性

├──34|内存管理第1关:Arena技术和元数据

├──35|内存管理第2关:实现垃圾回收

7.优化篇:让程序的性能更高

├──36|节点之海:怎么生成基于图的IR?

├──37 _ 从AST到IR:体会数据流和控制流思维

├──38|中端优化第1关:实现多种本地优化

├──39|中端优化第2关:全局优化要怎么搞?

├──40|中端优化第3关:一起来挑战过程间优化

├──41|后端优化:生成LIR和指令选择

8.展望篇:实现自主语言的征途

├──42|到这里,我们的收获和未尽的工作有哪些?

├──期末考试|实现编程语言这些核心知识点,你掌握得咋样了?

9.结束语

├──结束语|等待你大展身手的那些领域

资源下载此资源下载价格为35软妹币立即购买,学生教育优惠(永久会员)免费
资源下载
下载价格35 软妹币
学生教育优惠(永久会员)免费
立即购买
0

评论0

请先

                                                  在校大学生直接拍教育优惠VIP,君子协议无需证明
没有账号? 注册  忘记密码?