北鸟南游的博客 北鸟南游的博客
首页
  • 前端文章

    • JavaScript
    • Nextjs
  • 界面

    • html
    • css
  • 计算机基础
  • 后端语言
  • linux
  • mysql
  • 工具类
  • 面试相关
  • 图形学入门
  • 入门算法
  • 极客专栏
  • 慕课专栏
  • 电影资源
  • 儿童动漫
  • 英文
关于我
归档
GitHub (opens new window)
首页
  • 前端文章

    • JavaScript
    • Nextjs
  • 界面

    • html
    • css
  • 计算机基础
  • 后端语言
  • linux
  • mysql
  • 工具类
  • 面试相关
  • 图形学入门
  • 入门算法
  • 极客专栏
  • 慕课专栏
  • 电影资源
  • 儿童动漫
  • 英文
关于我
归档
GitHub (opens new window)
  • 面试
  • 算法入门
  • 图形学入门
  • 极客专栏
    • 001-数据结构与算法之美
    • 002-Java核心技术面试精讲
    • 003-从0开始学架构
    • 004-左耳听风
    • 005-趣谈网络协议
    • 006-MySQL实战45讲
    • 007-重学前端
    • 008-深入拆解Java虚拟机
    • 009-Go语言核心36讲
    • 010-如何设计一个秒杀系统
    • 011-程序员的数学基础课
    • 012-Linux性能优化实战
    • 013-深入剖析Kubernetes
    • 014-许式伟的架构课
    • 015-趣谈Linux操作系统
    • 016-从0开始学微服务
    • 017-深入浅出区块链
    • 018-技术管理实战36讲
    • 019-数据分析实战45讲
    • 020-TGO鲲鹏会技术领导力300讲
    • 021-从0开始学大数据
    • 022-硅谷产品实战36讲
    • 023-邱岳的产品实战
    • 024-Java并发编程实战
    • 025-软件测试52讲
    • 026-人工智能基础课
    • 027-Android开发高手课
    • 028-iOS开发高手课
    • 029-朱赟的技术管理课
    • 030-推荐系统三十六式
    • 031-深入浅出计算机组成原理
    • 032-Python核心技术与实战
    • 033-邱岳的产品手记
    • 034-技术与商业案例解读
    • 035-面试现场
    • 036-大规模数据处理实战
    • 037-AI技术内参
    • 038-机器学习40讲
    • 039-程序员进阶攻略
    • 040-持续交付36讲
    • 041-10x程序员工作法
    • 042-代码精进之路
    • 043-软件工程之美
    • 044-SQL必知必会
    • 045-从0开始学游戏开发
    • 046-Kafka核心技术与实战
    • 047-Java性能调优实战
    • 048-从0开始做增长
    • 049-运维体系管理课
    • 050-深入拆解Tomcat&Jetty
    • 051-白话法律42讲
    • 052-透视HTTP协议
    • 053-OpenResty从入门到实战
    • 054-玩转webpack
    • 055-零基础学Java
    • 056-Web协议详解与抓包实战
    • 057-从0开发IOSApp
    • 058-vue开发实战
    • 059-GO语言从入门到实战
    • 060-玩转Spring全家桶
    • 061-TensorFlow快速入门与实战
    • 062-玩转Git三剑客
    • 063-Nginx核心知识150讲
    • 064-快速上手Kotlin开发
    • 065-React实战进阶45讲
    • 066-零基础学Python
    • 067-微服务架构实战160讲
    • 069-微服务架构核心20讲
    • 070-算法面试通关40讲
    • 071-Linux实战技能100讲
    • 072-Elasticsearch核心技术与实战
    • 073-OKR实战笔记
    • 074-Flutter核心技术与实战
    • 075-编辑训练营
    • 076-SpringBoot与Kubernetes云原生微服务实践
    • 077-从0打造音视频直播系统
    • 078-TypeScript开发实战
    • 079-消息队列高手课
    • 080-网络编程实战
    • 081-浏览器工作原理与实践
    • 082-Swift核心技术与实战
    • 083-编译原理之美
    • 084-ZooKeeper实战与源码剖析
    • 085-研发效率破局之道
    • 086-即时消息技术剖析与实战
    • 087-全栈工程师修炼指南
    • 088-高并发系统设计40问
    • 089-Node.js开发实战
    • 090-分布式技术原理与算法解析
    • 091-说透中台
    • 092-DevOps实战笔记
    • 093-Netty源码剖析与实战
    • 094-DDD实战课
    • 095-苏杰的产品创新课
    • 096-移动端自动化测试实战
    • 097-项目管理实战20讲
    • 098-设计模式之美
    • 099-JavaScript核心原理解析
    • 100-MongoDB高手课
    • 101-后端技术面试38讲
    • 102-现代C++实战30讲
    • 103-前端全链路性能优化实战
    • 104-性能工程高手课
    • 105-安全攻防技能30讲
    • 106-性能测试实战30讲
    • 107-小马哥讲Spring核心编程思想
    • 108-摄影入门课
    • 109-人人都能学会的编程入门课
    • 110-说透敏捷
    • 111-Electron开发实战
    • 112-NETCore开发实战
    • 113-接口测试实战课
    • 114-分布式协议与算法实战
    • 115-RPC实战与核心原理
    • 116-架构实战案例解析
    • 117-后端存储实战课
    • 118-深入浅出云计算
    • 119-Java业务开发常见错误100例
    • 120-NLP实战高手课
    • 121-图解GoogleV8
    • 122-SRE实战手册
    • 123-检索技术核心20讲
    • 124-数据中台实战课
    • 125-ServiceMesh实战
    • 126-Kafka核心源码解读
    • 127-Serverless入门课
    • 128-视觉笔记入门课
    • 129-系统性能调优必知必会
    • 130-罗剑锋的C++实战笔记
    • 131-互联网人的英语私教课
    • 132-分布式缓存高手课
    • 133-职场求生攻略
    • 134-软件设计之美
    • 135-微信小程序全栈开发实战
    • 136-编译原理实战课
      • 编译原理实战课
        • 课程介绍
        • 课程设计
    • 137-正则表达式入门课
    • 138-TensorFlow2项目进阶实战
    • 139-跟月影学可视化
    • 140-分布式系统案例课
    • 141-OAuth2.0实战课
    • 142-Web安全攻防实战
    • 143-Vim实用技巧必知必会
    • 144-如何看懂一幅画
    • 145-重学线性代数
    • 146-Redis核心技术与实战
    • 147-分布式数据库30讲
    • 148-ToB市场品牌实战课
    • 149-Linux内核技术实战课
    • 150-技术管理案例课
    • 151-Selenium自动化测试实战
    • 152-Pandas数据分析实战
    • 153-Flink核心技术与实战
    • 154-用户体验设计实战课
    • 155-WebAssembly入门课
    • 157-深度学习推荐系统实战
    • 158-爱上跑步
    • 159-Go并发编程实战课
    • 160-人人都用得上的写作课
    • 161-玩转手机摄影
    • 162-CTO成长复盘
    • 163-Rust实战课
    • 164-Django快速开发实战
    • 165-物联网开发实战
    • 167-容器实战高手课
    • 168-实用密码学
    • 169-大厂晋升指南
    • 170-AB测试从0到1
    • 171-成为AI产品经理
    • 172-分布式金融架构
    • 173-代码之丑
    • 174-体验设计案例课
    • 175-手把手教你玩音乐
    • 176-etcd实战课
    • 177-恋爱必修课
    • 178-跟着高手学复盘
    • 179-Python自动化办公实战课
    • 180-基于人因的用户体验设计课
    • 181-打造爆款短视频
    • 182-MySQL必知必会
    • 183-流程型组织15讲
    • 184-Spark性能调优实战
    • 185-性能工程实战课
    • 186-技术面试官识人手册
    • 187-说透数字化转型
    • 188-Spring编程常见错误50例
    • 189-操作系统实战45讲
    • 190-容量保障核心技术与实战
    • 191-性能优化高手课
    • 192-说透芯片
    • 193-ReactHooks核心原理与实战
    • 195-说透5G
    • 196-如何成为学习高手
    • 197-如何读懂一首诗
    • 198-如何落地业务建模
    • 199-讲好故事
    • 200-程序员的个人财富课
    • 201-说透区块链
    • 202-Redis源码剖析与实战
    • 203-数据分析思维课
    • 204-程序员的测试课
    • 205-手把手带你写一门编程语言
    • 206-Rust编程第一课
    • 207-爆款文案修炼手册
    • 208-如何讲好一堂课
    • 209-案例研习社-HarmonyOS快速入门与实战
    • 210-零基础入门Spark
    • 211-零基础实战机器学习
    • 212-郭东白的架构课
    • 213-手把手带你写一个Web框架
    • 214-手把手带你搭建秒杀系统
    • 215-深入C语言和程序运行原理
    • 216-PyTorch深度学习实战
    • 217-业务开发算法50讲
    • 218-全链路压测实战30讲
    • 219-编程高手必学的内存知识
    • 220-超级访谈-对话张雪峰
    • 221-深入剖析Java新特性
    • 222-攻克视频技术
    • 223-搞定音频技术
    • 225-分布式金融架构课
    • 226-Spark性能调优实战
    • 227-Go语言项目开发实战
    • 228-大数据经典论文解读
    • 229-Go语言第一课
    • 230-玩转Vue3全家桶
    • 231-SpringCloud微服务项目实战
    • 232-Web漏洞挖掘实战
    • 233-去无方向的信
    • 234-Kotlin编程第一课
    • 235-网络排查案例课
    • 236-eBPF核心技术与实战
    • 237-反爬虫兵法演绎20讲
    • 238-深入浅出分布式技术原理
    • 239-高并发架构实战课
    • 240-大厂广告产品心法
    • 241-说透低代码
    • 242-自动化测试高手课
    • 243-对话汤峥嵘
    • 244-ReactNative新架构实战课
    • 245-小马哥讲SpringAOP编程思想
    • 246-分布式缓存高手课
    • 247-遗留系统现代化实战
    • 249-TDD项目实战70讲
    • 250-专利写作第一课
    • 251-说透元宇宙
    • 252-人人都用得上的数字化思维
    • 253-Kubernetes入门实战课
    • 254-大厂设计进阶实战课
    • 255-中间件核心技术与实战
    • 256-计算机基础实战课
    • 257-移动端音视频开发实战
    • 258-Web3.0入局攻略
    • 259-音视频技术入门课
    • 260-商业思维案例笔记
    • 261-现代ReactWeb开发实战
    • 262-Go进阶-分布式爬虫实战
    • 263-Serverless进阶实战课
    • 264-JavaScript进阶实战课
    • 265-超级访谈-对话毕玄
    • 266-深入浅出可观测性
    • 267-超级访谈_对话玉伯
    • 268-Dubbo源码剖析与实战
    • 269-Vue3企业级项目实战课
    • 270-高并发系统实战课
    • 271-手把手教你落地DDD
    • 272-现代C++20实战高手课
    • 273-云原生架构与GitOps实战
    • 274-运维监控系统实战笔记
    • 275-云计算必修小课
    • 276-技术领导力实战笔记2022
    • 277-零基础学Python
    • 278-大型Android系统重构实战
    • 279-手把手带你写一个MiniSpring
    • 280-AI大模型之美
    • 281-手把手带你搭建推荐系统
    • 282-快速上手C++数据结构与算法
    • 283-B端体验设计入门课
    • 284-B端产品经理入门课
    • 285-零基础GPT应用入门课
  • 慕课专栏
  • vue3+vite封装element组件库
  • 基于云开发模式开发微信小程序
  • 珠峰培训资料
  • theme
  • geektime
北鸟南游
2023-09-27
目录

136-编译原理实战课

# 编译原理实战课

带你吃透编译技术核心概念与算法 宫文学 北京原点代码 CEO

你将获得

  • 编译原理的核心基础知识
  • 7 大主流语言的编译器源码解读
  • 真实编译器的实现机制与关键算法
  • 从编程语言设计层面理解编译原理

# 课程介绍

编译原理实战课,我们到底要学些什么?

在这门课程里,宫老师精选出了 Java、Java JIT、Python、JavaScript、Julia、Go、MySQL 这 7 种真实编程语言的编译器,带你阅读它们的源代码,跟踪它们的执行过程,弄懂它们的运行机制。在这个过程中,你会获得对编译器的第一手理解,并能够与自己理解的编译原理知识相互印证。

另外,宫老师还会带你分析和总结这些现代语言的编译器的结构、所采用的算法和设计思路,帮你更好地理解和把握一门现代语言的特性,让你对新一代语言的设计思考有拨云见日的通透感。

有些语言我都没接触过,解析这些编译器,我能学得会吗?我学了又有什么用呢?

能学得会吗? 当然可以了。在课程中,宫老师会梳理出这些不同语言编译器的源代码的重点和核心逻辑,并且会结合易懂、易读、易动手操作的示例程序,来带你一步步理解它们是如何运行的。

另外,其实你并不需要担心语言不熟悉的问题,因为现代的高级语言,相似度是很高的,即使是你不熟悉的语言,你也照样可以写一些基本的、试验性的程序,研究它的实现机制。

而且,学习编译原理的人会练就一项基本功,那就是更容易掌握一门语言的本质。我们这门课就是要帮你成为钻到铁扇公主肚子里的孙悟空,研究某一种语言的编译器,当然有助于你通过“捷径”去深入地理解这门语言。

学了有什么用? 学好编译器前端技术,你能为软件增加各种自定义功能、能够实现自己的 DSL,甚至实现完整的前端解析器(比如 SQL 解析器); 学好编译器后端技术,你能写出更容易优化的代码,洞悉让代码性能更高的秘密,以及采用后端工具快速实现一门完整的语言。

不仅如此,通过分析真实编译器的代码,你能洞悉实现一个完整编译器的各种细节。当你把编译技术用于一个项目时,你就会了然于胸,应该在什么地方使用什么样的技术。因为你已经见识过了各种编译器的实现方式,因此能够权衡和取舍。对你而言,编译原理,不再仅仅是原理,而是随时可以出击的利剑!

这个课程和之前宫老师的《编译原理之美》专栏课有什么区别?

《编译原理之美》专栏课是从前端与后端两个层面来讲解编译原理的核心技术点,用具体的案例带你理解抽象的原理。宫老师说,这门课是带你在编译原理的世界里“读万卷书”,目的就是帮你一次性掌握编译原理最核心的概念、理论和算法。通过这门课,你能真正克服学习编译原理的畏难情绪,可以真正运用编译技术解决报表设计等实际问题。

《编译原理实战课》是从实战的角度切入,是学习编译原理的“行万里路”,老师会用你最擅长的写代码、读代码的方式,来带你分析真实的编译器到底是怎么写出来的。通过研究多种编译器,你可以多次迭代对编译器的认知过程。并通过分析对比,你能发现这些编译器之间的异同点,激发出更多的思考,从而能得到更全面的、更深入的认知。在解析编译器的过程中,你也能更深入地把编译原理知识与实践相结合。

# 课程设计

# 整个专栏分为 3 个模块。

课程主体分为三个模块。

预备知识篇:简明扼要地梳理编译过程中各个阶段的主要工作,带你重温编译原理的知识体系,让你对这些关键概念的理解变得更加清晰。在这个过程中,你也能更好地建立具体实现跟原理之间的关联,互相印证。

真实编译器解析篇:带你研究 Java、Java JIT、Python 等 7 种语言编译器的源代码,跟踪它们的运行过程,分析编译过程的每一步是如何实现的,并会对有特点的编译技术点加以分析和点评,以此帮你吃透现代语言的核心特性,直接提高你的技术水平,让你更高效地学习编译原理知识。

现代语言设计篇:带你分析和总结前面研究过的 7 种真实语言的编译器,进一步提升你对相关编译技术的认知高度,让你对如何设计编译器的前端、中端、后端、运行时,都有比较全面的了解,知道如何在不同的技术路线之间做取舍。

资源下载 (opens new window)提取码:http://dt4.8tupian.net/2/29369a148b200.pg1

编辑 (opens new window)
上次更新: 2025/04/19, 14:22:11
135-微信小程序全栈开发实战
137-正则表达式入门课

← 135-微信小程序全栈开发实战 137-正则表达式入门课→

最近更新
01
色戒2007
04-19
02
真实real
04-19
03
Home
更多文章>
Theme by Vdoing | Copyright © 2018-2025 北鸟南游
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式