編譯原理學習筆記---- Thompson算法由正規式構造NFA 例如:求正規式 1(0|1)*101 的NFA 首先將正規式r=1(0|1)*101分解成r=r1,r2r3 將r2,r3展開得: 不確定有窮自動機(NFA) 一個不確定的有窮自動機T ...
這幾天忙着學英語,同時在學習編譯原理,對這門課很感興趣,已經制作了詞法分析器,同時還在補充這個分析器的功能,也准備着手開始寫語法分析器,看到最后能不能連在一起,我想如果能夠將整套編譯器的流程跑下來真的很棒呢,看比爾蓋茨那年齡都寫出BASIC了,真是覺得與大牛差距太大,一定要追趕 將前一段時間學的編譯原理重新回顧一下。也與大家分享一下學習資料。 翻譯器:能夠將一種語言轉換成另一種語言的軟件,而且后 ...
2012-04-04 17:10 11 6504 推薦指數:
編譯原理學習筆記---- Thompson算法由正規式構造NFA 例如:求正規式 1(0|1)*101 的NFA 首先將正規式r=1(0|1)*101分解成r=r1,r2r3 將r2,r3展開得: 不確定有窮自動機(NFA) 一個不確定的有窮自動機T ...
自頂向上分析方法 1 思想 簡單來說就是試圖從輸入符號串出發,將其直接作為葉子結點,然后向上構造出一棵分析樹。從樹根到葉子叫展開,而從葉子回樹根就叫歸約。所以這種方法的關鍵在於查找當前句型的可 ...
錯誤處理 說明:以老師PPT為標准,借鑒部分教材內容,AlvinZH學習筆記。 1. 目標:編譯程序對於語法和語義正確的源程序要正確地編譯生成等價的目標代碼;而對於錯誤的源程序不能一發現就停止,而是要能檢查出錯誤的性質和出錯位置,並使編譯能繼續下去,同時盡可能多而准確地發現錯誤和指出各種錯誤 ...
代碼優化 以老師PPT為標准,借鑒部分教材內容,AlvinZH學習筆記。 概述 .1. 目的:提高目標代碼運行效率。時間效率(減少運行時間);空間效率(減少內存容量)。 原則:進行優化必須嚴格遵循“不能改變原有程序語義”原則。 2. 優化的分類 從優化的層次,與機器是否有關,分為:獨立 ...
1 目的 語法分析是根據源語言的語法規則從源程序記號序列(詞法分析階段的輸出)中識別出各種語法成分,同時進行語法檢查,為語義分析和代碼生成做准備。 2 方法 對記號序列自左向右掃描,每次 ...
第一章 是基本概念,讀完這一章是為了有個基本了解,這一章是很容易順利讀完的 第二章 這一章介紹了書中很多重要的東西。這一章雖然也有些難理解的地方,但是跟后面比還是容易很多,很多東西都很基本,對編譯系統有個基本的理解。 第三章 詞法分析 相比較語法分析,詞法分析相對比較簡單,就是一個自動機 ...
詞法分析的任務: 首先,從階段上來看,編譯器可分為若干個中間階段: 典型的,可以包含為一個前端,一個后端。前端接收源程序產生一個中間表示,后端接收中間表示繼續生成一個目標程序。所以,前端處理的是跟源語言有關的屬性,后端處理跟目標機器有關的屬性。 更細節的,前端可以划分 ...
首先要說明的是: 一般的文法至少都是0型文法,也就是說0型文法限制最少。若將0型文法比作基類的話,1、2、3型文法就是不斷繼承並加以限制得到的子類。 文法表示過程中,常用大寫字母表示非終結符VN ...