《編譯器》課程簡介

MOOC學院的課程展示頁面

Coursera課程介紹頁面

關於課程

這門課程將討論編譯器設計的主要思想,包括詞法分析器、解析器、直接語法翻譯(SDT)、抽象語法樹(AST)、類型與類型檢查、中間語言、數據流分析、程序優化、代碼生成,以及運行時系統。最終,您會學到一門爲人類設計的高級編程語言是怎樣被系統地翻譯成適合機器的底層彙編語言的。在課程中,我們也會接觸編程語言的設計,編程語言的語義,以及爲什麼會有這麼多編程語言的問題。

課程講座將會以短視頻的方式提供。爲了幫助您掌握知識,課程中會有當堂提問、小測驗和兩次考試:期中和期末。以練習形式出現的作業,會讓你展示一些步驟以利用前面流程的結果,例如,爲一段代碼做類型檢查的步驟,或者解析一段字符串的步驟。檢查作業的技術是斯坦福正在進行的爲教育而開發的創新工具的產物,我們很高興能通過這門課程首次讓學生使用。

學生可以完成一項可選的課程設計:爲COOL(Classroom Object Oriented Language)寫一個完整的編譯器。COOL包含現實中編程語言的要素,但已足夠簡單,其編譯器只需要幾千行代碼。選擇課程設計的同學可以用C++或Java來實現它。

希望你們在學習這門課中得到樂趣!

爲什麼要學習編譯器?

計算機做的一切事情就是爲某些程序得出結果,而全世界上億種程序是用60年來的上萬種編程語言寫成的。設計並實現一門編程語言很難,計算機科學天才們想出了不少優美而深刻的辦法解決這些問題。學習編譯器的內容會學到關於理論和實踐的演化,尤其是帶有工程洞察力的真知灼見,會帶來困難問題的巧妙解法。瞭解編譯器的工作方式也會讓您更快地學習編程語言,使您成爲更優秀的程序員。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章