編譯原理之美-宮文學-極客時間-返現24元

小猿發表於2019-01-18

極客時間出品的《編譯原理之美》由宮文學所作,宮文學是北京物演科技CEO。本專欄手把手教你實現一個編譯器 。

編譯原理之美 封面圖

課程訂閱及價格:

原價¥99 ,限時¥68   4648 人已學習 · 共36講 · 每週一 / 三 / 五更新, 本課程為音訊+圖文。可在極客時間APP/小程式/網站上永久觀看。

用我的邀請購買,返現24元。購買成功之後,請加我微訊號 dismissmewp ,備註:返現。

編譯原理之美 返現圖

編譯原理是一門經過長期實踐的,有著悠久歷史的計算機經典課程。作為一名工程師,在實際工作中你經常會碰到需要編譯技術的場景,比如:

  • 編寫介面模板引擎;
  • 為專案編寫各種各樣的DSL;
  • 深度理解甚至編寫Spring、Hibernate、阿里巴巴Druid這樣的工具。

那如何才能真正掌握編譯原理呢?是蒐集市面上的教材,埋頭苦讀嗎?要知道,教材往往過於抽象和理論化,如果你沒有系統化的學習體系,做不到學以致用,掌握再多的理論知識,也不會形成章法,事倍功半。因此,學習編譯原理最關鍵在於掌握其關鍵知識點以及核心思維方法,即學即用。

《編譯原理之美》講師介紹

宮文學,北京物演科技CEO,連續創業者,2016年入選廈門市第九批“雙百計劃”領軍型創業人才。他是國內最早做BPM(流程管理平臺)和BI平臺(大資料平臺)的創業者之一,之後也做過電子表單和快速開發平臺,這些經歷都與編譯技術密不可分。

編譯原理之美 宮文學

在他看來,優秀的工程師要保持長期的競爭力,需要提升自身的專業素養。而瞭解與學習基礎技術理論並加以實踐是一種行之有效的方式。

在這個課程裡,他從前端與後端兩個層面來講解編譯原理的核心技術點,用具體的案例帶你理解抽象的原理,幫助你建立信心,克服畏難情緒,讓你在這個過程中一步步趟過雷區,在工作中真正用到編譯技術。

你能通過這門課,實現寫出一個編譯器的願望,還能通過SQL解析器、報表工具、位元組碼生成等小練習鍛鍊自己的動手能力。當然了,你還可以解鎖更多應用編譯原理的業務場景,將知識活學活用。相信只要沉下心去學習研究,掌握編譯技術指日可待!

《編譯原理之美》課程模組

課程共36講,分為三個部分。

第一部分:實現一門指令碼語言

通過具體例項,帶你瞭解詞法分析、語法分析、語義分析的原理,實現一門指令碼語言,並用工具提升效率。

第二部分:實現一門編譯型語言

帶你瞭解如何生成目的碼和對程式碼進行優化,並引入LLVM工具,最後生成可執行的檔案能支援即時編譯,並經過了多層優化。

第三部分:面向未來的程式語言

人工智慧與編譯技術結合是否會出現人工智慧程式設計?這部分是對編譯技術發展趨勢的一些分析,這些分析會幫助你更好地把握未來技術發展的脈搏。

《編譯原理之美》課程目錄

開篇詞 :為什麼你要學習編譯原理?

第一部分:實現一門指令碼語言

原理篇

理解程式碼:編譯器的前端技術

正則文法和有限自動機:純手工打造詞法分析器

語法分析(一):純手工打造公式計算器

語法分析(二):解決二元表示式中的難點

語法分析(三):實現一門簡單的指令碼語言

編譯器前端工具(一):用Antlr生成詞法、語法分析器

編譯器前端工具(二):用Antlr重構指令碼語言

作用域和生存期:實現塊作用域和函式

物件導向:實現資料和方法的封裝

閉包:理解了原理,它就不反直覺了

語義分析:上下文相關情況的處理

繼承和多型:物件導向執行期的動態特性

應用篇

前端技術應用(一):如何透明地支援資料庫分庫分表?

前端技術應用(二):如何設計_個報表工具?

演算法篇

First和Follow集合:用LL演算法推演一個例項

移進和規約:用LR演算法推演一個例項

案例總結與熱點問題答疑

期中考試周(9.30〜10.6)

編譯原理期中試題(100分)

第二部分:實現一門編譯型語言

原理篇

高效執行:編譯器的後端技術

執行時機制:突破現象看本質,透過語法看執行吋

生成彙編程式碼(一):組合語言其實不難學

生成彙編程式碼(二):把指令碼編譯成可執行檔案

中間程式碼:相容不同的語言和硬體

後端技術的重用:LLVM不僅僅讓你高效

生成IR:實現靜態編譯的語言

程式碼優化:為什麼你的程式碼比他的更高效?

資料流分析:你寫的程式,它更懂

目的碼的生成和優化:如何適應各種硬體架構?

應用篇

指令選擇:對海量資料做計算,到底可以有多快? 29註解和位元組碼生成:為什麼Spring技術很強大?

擴充套件篇

垃圾收集:能否不停下整個世界?

執行吋優化:談談即吋編譯技術

案例總結與熱點問題答疑

第三部分:面向未來的程式語言

編譯技術的發展趨勢

雲程式設計:雲端計算吋代是否需要更新的語言特性?

超程式設計:一邊寫程式,一邊寫語言

案例總結與熱點問題答疑

結束語:用程式語言,推動這個世界的演化

猿人學banner宣傳圖

我的公眾號:猿人學 Python 上會分享更多心得體會,敬請關注。

***版權申明:若沒有特殊說明,文章皆是猿人學 yuanrenxue.com 原創,沒有猿人學授權,請勿以任何形式轉載。***

相關文章