編譯原理(整體理解)

2021-10-11 21:42:42 字數 480 閱讀 6416

編譯原理實際上是傳統編譯器的工作原理。它可以分為六個部分:詞法分析、語法分析、語義分析、中間**生成、**優化、目標**生成。整個過程其實就像把一篇英語文章翻譯成中文,讓只懂中文的人看懂。

詞法分析是乙個程式,輸入的是字元流(源**),輸出的是token。這就好比英語中看到幾個字母組在一起,不能說它是乙個單詞,乙個單詞需要規定其屬性和意義,滿足一定詞法規則。於是詞法規則描述工具(狀態轉換圖、巴克斯正規化bnf、有窮自動機df a、正規表示式、正則文法),滿足這些規則就可以變為token,這些token被記錄在符號表中,每行都記錄乙個token的屬性和值。

語法分析也是乙個程式,它的輸入是詞法分析完後的token序列。多個token組成的句子是否合理,也就是說能否從文法的開始符推出這個token串,推導該文法的方法有兩種。第一種自頂向下的分析方法:ll(1)、遞迴下降法。第二種自底向上的分析方法:lr(0)、slr(1)、lr(1)、lalr(1)。若token串能與生產的抽象分析樹匹配則為乙個 正確的句子。

編譯原理的理解

我認為這門課是一門真正與 做鬥爭的課程,而且編譯原理可以說是乙個電腦科學的縮影。你學習它更多的是去追尋程式語言的本質,學完這門課程,我相信,你對你所寫的程式 程式語言都會有更深的本質認識,這樣的認識也會讓你站的高度完全不同,如果你真的學的好,我想別人看到的是語法,你看到的是背後的實現,在歐洲教會還不...

編譯安裝原理理解

configure從程式檔案角度出發是乙個可執行指令碼,執行此指令碼是為了生成makefile檔案,這個檔案是乙個相當於定的規矩的檔案,也就是顯式規則說明,在此可通過在configure後新增引數拉對安裝進行控制,比如說將配置檔案放在某個目錄下,將日誌檔案放在某個目錄下等,這個指令碼檔案的執行也是對...

對編譯原理的理解

編譯原理就是什麼?在我看來,編譯原理就是將高階語言翻譯成計算機語言 即計算機所能識別的二進位制 所遵循的規律,並且讓你理解機器是如何理解高階語言的。學習編譯原理有什麼好處?當你真正完成編譯原理的學習後,你對你所寫的程式 程式語言都會有更深的本質認識,這樣的認識也會讓你站的高度完全不同,並且知道編譯的...