手把手带你写一门编程语言从0到1
手把手带你写一门编程语言从0到1

手把手带你写一门编程语言从0到1

普通游客 无权查看资源
有效期: 永久有效
更新日期: 2022-07-26

手把手带你写一门编程语言 从 0 到 1,实现自己的编程语言资源简介:
每个程序员都或多或少掌握一门甚至多门编程语言,总是在用别人写的,你有没有在平平无奇的某一天里,突发奇想自己来写一门呢?
你可能没想过。毕竟能写一门计算机语言的都是顶级大牛,他们的脑袋和技术是我等普通程序员也能复现的吗?这也太难了!而且,也没啥用,投入产出比太低了。
你可能也想过。但面对编译技术、运行时技术、还有各种计算机语言特性这几座大山,真是“拔剑四顾心茫然”,太难爬了!更别提那些永远也赶不上新兴语言迭代速度的陈旧资料了。
停一下!其实这些问题根本就不是难以跨越的。当你砍掉凌乱的枝干,抓住主线,从原理出发专注语言的实现过程,会发现实现一门语言远比你想象要简单、有用。
这次,我们请来了跟我们极客时间合作过两季的宫文学老师,他长期专注于编译技术领域,熟悉各种语言编译器的实现机制,他会给你指明一条普通程序员也能实现一门编程语言的可行路径。
更重要的是,在这个过程中,宫文学老师会手把手地带着你洞穿编译技术、运行时技术、汇编语言、硬件架构和各种算法,帮助你自顶向下理解计算机技术的底层原理,全面提升自己的技术硬实力。
你将获得
一套实用的现代计算机语言架构
自顶向下搞懂计算机底层技术
系统级软件开发的高维思考
理解计算机语言的核心逻辑
课程目录
开篇词|让我们来写一门计算机语言吧.pdf
课前热身|开始学习之前我们要准备什么?.pdf
01|实现一门超简单的语言最快需要多久?.pdf
02|词法分析:识别Token也可以很简单吗?.pdf
03|支持表达式:解析表达式和解析语句有什么不同?.pdf
04|如何让我们的语言支持变量和类型?.pdf
05|函数实现:是时候让我们的语言支持函数和返回值了.pdf
06|怎么支持条件语句和循环语句?.pdf
07|怎么设计属于我们自己的虚拟机和字节码?.pdf
08|基于TypeScript的虚拟机(一):实现一个简单的栈机.pdf
09|基于TypeScript的虚拟机(二):丰富特性,支持跳转语句.pdf
10丨基于C语言的虚拟机(一):实现一个简单的栈机.pdf
11丨基于C语言的虚拟机(二):性能增长10倍的秘密.pdf
12丨物理机上程序运行的硬件环境是怎么样的?.pdf
13丨物理机上程序运行的软件环境是怎么样的?.pdf
14丨汇编代码学习(一):熟悉CPU架构和指令集.pdf
15丨汇编语言学习(二):熟悉X86汇编代码.pdf
16丨生成本地代码第1关:先把基础搭好.pdf
17丨生成本地代码第2关:变量存储、函数调用和栈帧维护.pdf
18丨生成本地代码第3关:实现完整的功能.pdf
19丨怎么实现一个更好的寄存器算法:原理篇.pdf
20|怎么实现一个更好的寄存器分配算法:实现篇.pdf
21|加深对栈的理解:实现尾递归和尾调用优化.pdf
22丨增强编译器前端功能第1步:再识数据流分析技术.pdf
23丨增强编译器前端功能第2步:增强类型体系.pdf
24丨增强编译器前端功能第3步:全面的集合运算.pdf
25丨增强编译器前端功能第4步:综合运用多种语义分析技术.pdf
26丨增强更丰富的类型第1步:如何支持浮点数?.pdf
27丨增加更丰富的类型第2步:如何支持字符串?.pdf
28丨增加更丰富的类型第3步:支持数组.pdf
29|面向对象编程第1步:先把基础搭好.pdf
30|面向对象编程第2步:剖析一些技术细节.pdf
31|面向对象编程第2步:支持继承和多态.pdf
32丨函数式编程第1关:实现高阶函数.pdf
33丨函数式编程第2关:实现闭包特性.pdf
34丨内存管理第1关:Arena技术和元数据.pdf
35丨内存管理第2关:实现垃圾回收.pdf
36丨节点之海:怎么生成基于图的IR?.pdf
37丨从AST到IR:体会数据流和控制流思维.pdf
38丨中端优化第1关:实现多种本地优化.pdf
39丨中端优化第2关:全局优化要怎么搞?.pdf
40丨中端优化第3关:一起来挑战过程间优化.pdf
41丨后端优化:生成LIR和指令选择.pdf
42丨到这里,我们的收获和未尽的工作有哪些?.pdf
“它山之石”丨Sugar:这门课你可以试试这么学.pdf
“屠龙之秘”丨实现计算机语言这样的技术能用在哪里?(一).pdf
结束语丨等待你大展身手的那些领域.pdf
期中测试丨快来检验你在起步篇的学习成果吧.pdf
以上为简介部分内容,详细请成为会员后查看!


你可能想看:
下载完资源提示有解压密码?

默认解压密码为:WWW.123.COM

本站提供的学习资源能否直接商用?

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。

购买会员后,我不想学习了可以退款吗?

学习资源属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、请您在购买获取之前确认好是您所需要的资源。如其它疑问联系客服QQ:89797497

网站运营多久了,会突然找不到吗?

首先站长持续更新很多年了,投入了大量时间以及资金,也是唯一生活收入来源,域名永远不会更换,有任何问题可以先加我QQ:89797497咨询,承诺保证每天更新从不间断。诚心经营,用时间说话。

课程都是最新的吗?后期还会不会更新?

课程都是站长花大量金钱以及投稿收集得来,课程都是全站最新发布的,一手更新货源,如有后期作者更新也会第一时间更新发布。请持续关注本站。

导航在这里!

所有功能都在底部导航栏哦~

全部分类

选择您感兴趣的分类,浏览相关资源

搜索文章

输入关键词,查找您感兴趣的内容

最近搜索

个人中心

查看和管理您的个人信息

新用户注册
验证码
已有账号? 立即登录
用户登录
验证码
没有账号? 立即注册

近期查看内容

  • 暂无最近阅读记录

资源下载

以下是您购买的资料链接

手把手带你写一门编程语言从0到1

链接已验证 · 有效期永久
网盘链接
使用指南
1

保存文件:方法一

点击打开按钮 → 在新页面保存文件 → 根据提示在浏览器中完成登录或注册操作 → 最终按浏览器提示打开或下载网盘APP。

2

保存文件:方法二

请您先点击复制按钮,之后打开网盘APP,系统会自动弹出窗口,点击窗口中的"保存"按钮即可存入您的网盘。

3

使用资源

文件保存成功后,您就可以轻松管理了:点击文件即可在线畅看,或者随心所欲地下载到您的设备上。

其它问题
链接失效怎么办?

如果遇到链接失效,请联系邮箱89797497@qq.com,我们会尽快更新链接并回复。

下载速度太慢怎么办?

网盘非会员下载速度可能受限,建议尝试使用官方提速功能或选择非高峰时段下载。

资源可以商用吗?

本资源合集收集于网络,均不可商用。