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

期末答疑与总结 | 再次审视学习编译原理的作用

对IR的各种分析和变换
指令重排序算法
寄存器分配算法
指令选择算法
LR算法
LL算法
有限自动机构造算法
编译器中端算法
编译器后端算法
编译器前端算法
语言的语义决定是否适合使用LLVM
LLVM适合支持C/C++语言的语言
实现一款优秀的软件需要编译技术
中国技术生态的健康发展需要自己的语言
编程语言的细分领域需要自己的语言
编译原理涉及的算法
优秀软件通常有核心算法
大部分程序员未写过像样的算法
如何判断某门语言是否适合利用LLVM作为后端
是否需要一门新语言
学习编译原理对算法学习的帮助
编译原理的作用

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

你好,我是宫文学。到这里,咱们这门课程的主要内容就要结束了。有的同学在学习课程的过程中呢,提出了他感兴趣的一些话题,而我自己也会有一些想讲的话题,这个我也会在后面,以加餐等方式再做一些补充。接下来,我还会给你出一套期末测试题,帮你检测自己在整个学习过程中的所学所得。
那么,在今天这一讲,我们就来做个期末答疑与总结。在这里,我挑选了同学们提出的几个有代表性的问题,给你解答一下,帮助你更好地了解和掌握本课程的知识内容。

问题 1:学习了编译原理,对于我学习算法有什么帮助?

@无缘消受人间富贵:老师,想通过编译器学算法,单独学算法总是不知道有什么意义,每次都放弃,老师有什么建议吗?但是看到评论说用到的都是简单的数据结构,编译器用不到复杂的数据结构和算法?
针对这位同学提出的问题,我想谈一谈我对算法学习的感受。
前一阵,我在跟同事聊天时,提到了一个观点。我说,大部分的程序员,其实从来都没写过一个像样的算法。他们写的程序,都是把业务逻辑简单地翻译成代码。那么,如果一个公司写出来的软件全是这样的代码,就没有什么技术壁垒了,很容易被复制。
反之,一些优秀的软件,往往都是有几个核心的算法的。比如,对于项目管理软件,那么网络优化算法就很关键;对于字处理软件,那么字体渲染算法就很关键,当年方正的激光照排系统,就是以此为基础的;对于电子表格软件,公式功能和自动计算的算法很关键;对于视频会议系统,也必须掌握与音视频有关的核心算法。这样,因为有了算法的技术壁垒,很多软件就算是摆在你的面前,你也很难克隆它。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文主要讨论了编译原理对算法学习的帮助以及编译原理涉及的算法内容。文章指出,编译原理涉及了许多算法,包括有限自动机构造算法、LL算法、LR算法、指令选择算法、寄存器分配算法和指令重排序算法。这些算法在编译器的前端和后端起着重要作用,对文本处理、寻找较优解或最优解、处理树和图等方面都有应用。作者强调了编译原理对提升算法素养的重要性,以及在日常编程工作中的实际应用价值。 此外,文章还探讨了现代编程语言的发展和需求。作者认为,不同领域需要不同的编程语言,而中国的技术生态也需要有自己的语言。他指出,实现一款优秀的软件一定会用到编译技术,而掌握和运用编译技术是提升国内软件水平的重要途径。另外,文章还讨论了如何判断某门语言是否适合利用LLVM作为后端,以及不同语言对LLVM的适用性。 总的来说,本文涵盖了编译原理、算法学习、编程语言发展和LLVM后端工具的相关内容,对于对这些领域感兴趣的读者具有一定的参考价值。文章通过介绍编译原理的算法内容和对现代编程语言发展的探讨,为读者提供了对编译原理和相关技术的全面了解和思考。

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

全部留言(3)

  • 最新
  • 精选
  • I WANN BE THAT GUY
    你好,能问下有什么编辑器相关的 incremental parsing 相关的论文和书籍推荐吗?

    作者回复: 你可以搜索一下,有不少这方面的资料,我随便挑了几篇: 1.Incremental Parsing: https://dl.acm.org/doi/abs/10.1145/357062.357066 2.A simple and efficient incremental LL(1) parsing https://link.springer.com/chapter/10.1007%2F3-540-60609-2_24 3.Efficient and Flexible Incremental Parsing https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.83.7015&rep=rep1&type=pdf

    2020-09-18
  • minghu6
    重新发明中国版的东西, 很重要: 1. 最现实的意义就是绕开专利壁垒把命运掌握在自己手里 2. 长远看培养人才队伍,一手技术资料中文化, 这样星星之火可以燎原
    2021-06-20
    1
    1
  • ᯤ⁵ᴳ
    华为最近退出了cangjie编程语言 也是用LLVM做后端的
    2022-05-31
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部