手把手带你写一门编程语言 从 0 到 1,实现自己的编程语言

本文给大家分享一套手把手带你写一门编程语言 从 0 到 1,实现自己的编程语言资源课程视频,希望可以帮助有需要的同学
手把手带你写一门编程语言 从 0 到 1,实现自己的编程语言

每个程序员都或多或少掌握一门甚至多门编程语言,总是在用别人写的,你有没有在平平无奇的某一天里,突发奇想自己来写一门呢?

手把手带你写一门编程语言 从 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

点击获取课程资源:手把手带你写一门编程语言 从 0 到 1,实现自己的编程语言

https://zy.98ke.com/zyjn/43109.html?ref=7

好牛新坐标

发布者:知识学院,火焰兔收录并登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。https://huoyantu.com/205334.html

版权声明:

  • 火焰兔遵守相关法律法规,由于本站资源全部来源于网络程序/用户发布/投稿,故量太大无法一一准确核实资源侵权的真实性;
  • 出于传递信息之目的,故火焰兔可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
  • 因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
  • 无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式 《要求删除或断开链接侵权网络内容的通知》

    国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明:http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
    请按照此通知格式填写(或提供具有法律效应且证据链完整的证明)发至本站的邮箱 huoyantu@qq.com
    (收到核实后 24小时内绝对处理)
  • (0)
    知识学院的头像知识学院作者
    上一篇 2022年8月3日 下午4:22
    下一篇 2022年8月3日 下午4:22

    你可能喜欢的文章

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注

    火焰兔欢迎您!