编译原理实战课
宫文学
北京原点代码 CEO
26066 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 55 讲
真实编译器解析篇 (19讲)
编译原理实战课
15
15
1.0x
00:00/00:00
登录|注册

27 | 课前导读:学习现代语言设计的正确姿势

对编译原理形成更全面的认知
解析方舟编译器
计算机语言设计上的4个高级话题
语言的运行时和标准库的实现技术解析
各门语言的编译器的前端、中端和后端技术对比和总结
不同语言的实现技术
技术选择
语言需求的针对性
清晰需求和设计的重要性
需求和设计
探究7个真实世界的编译器
梳理编译原理的关键概念和算法
第三个模块带来的知识
实战精神体现在实现一门计算机语言
最后一讲
三个部分
设计问题
需求问题
重要目标
确定语言需求和选择合适的技术方案
编译器、运行时和标准库的重要性
提高编译原理实战能力
第二个模块“真实编译器解析篇”
第一个模块“预备知识篇”
小结
“现代语言设计篇”内容
实现一门计算机语言
计算机语言设计的高度
第三个模块目标
前两个模块内容总结
课前导读:学习现代语言设计的正确姿势
参考文章

该思维导图由 AI 生成,仅供参考

你好,我是宫文学。
到目前为止,你就已经学完了这门课程中前两个模块的所有内容了。在第一个模块“预备知识篇”,我带你梳理了编译原理的关键概念、算法等核心知识点,帮你建立了一个直观的编译原理基础知识体系;在第二个模块“真实编译器解析篇”,我带你探究了 7 个真实世界的编译器,让你对编译器所实际采用的各种编译技术都有所涉猎。那么在接下来的第三个模块,我会继续带你朝着提高编译原理实战能力的目标前进。这一次,我们从计算机语言设计的高度,来印证一下编译原理的核心知识点。
对于一门完整的语言来说,编译器只是其中的一部分。它通常还有两个重要的组成部分:一个是运行时,包括内存管理、并发机制、解释器等模块;还有一个是标准库,包含了一些标准的功能,如算术计算、字符串处理、文件读写,等等。
再进一步来看,我们在实现一门语言的时候,首先要做的,就是确定这门语言所要解决的问题是什么,也就是需求问题;其次,针对需要解决的问题,我们要选择合适的技术方案,而这些技术方案正是分别由编译器、运行时和标准库去实现的。
所以,从计算机语言设计的高度来印证编译原理知识,我们也能更容易理解编译器的任务,更容易理解它是如何跟运行时环境去做配合的,这也会让你进一步掌握编译技术。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

学习现代语言设计的正确姿势 宫文学在本文中介绍了学习现代语言设计的正确姿势。他首先强调了编译原理的核心知识,以及编译器、运行时和标准库在实现一门语言时的重要性。他指出,实现一门计算机语言需要明确需求和设计,举例说明了JavaScript和Go语言的设计与需求匹配。文章强调了理解计算机语言设计思路的重要性,并承诺在第三个模块中深入探讨编译技术和相关技术的配合。通过本文,读者能够了解到实现一门计算机语言的关键因素,以及如何正确理解和应用现代语言设计的方法。 该模块的内容分为三个部分:编译器的前端、中端和后端技术对比与总结;语言的运行时和标准库的实现技术解析;计算机语言设计上的高级话题,包括元编程技术、泛型编程技术、面向对象语言的实现机制和函数式编程语言的实现机制。最后一讲将对方舟编译器进行综合检验,以检验所学知识。 通过学习本文,读者将对编译原理形成更全面的认知,从而提高将编译原理用于实战的能力。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《编译原理实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • Tino's Park
    请问老师如何看新语言中流行的柯里化,尾闭包特性?

    作者回复: 柯里化是函数式编程的基础概念。如果一门语言支持函数式编程,那么它在内部一般会有柯里化的机制。至于在语法层面上使用柯里化,可以在把函数作为参数时省略一些参数,这会让某些代码变得更简洁(比如在给map函数传参时),但在另一些场景,会让使用变得别扭,因为它只能按照顺序省略参数。 你提到的尾闭包,指的是swift的trailing closure吧?这会让代码可读性变强,也是一种语法糖。你可以不用提供参数名称,也不用在一对圆括号()里嵌入花括号{}以及一堆代码。

    2020-09-16
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部