編譯原理學習筆記---- Thompson算法由正規式構造NFA 例如:求正規式 1(0|1)*101 的NFA 首先將正規式r=1(0|1)*101分解成r=r1,r2r3 將r2,r3展開得: 不確定有窮自動機(NFA) 一個不確定的有窮自動機T ...
編譯原理代表了軟件技術的最高層次,它表示了一個由人的理性思維到形式思維的過程,形式思維屬於數學思維,接近計算機思維.編譯原理的技術可以應用到軟件開發的各個方面,包括需求分析,架構設計,模式等等,都可以應用到,語言是人類最偉大的工具.編譯原理以語言為核心,構建了完美的解決方案.將現實生活中待解決的問題,以語言來描述,再翻譯成計算機所識別的語言,形成完美 靈活 高效的神奇演繹。而語言的實現過程,將囊 ...
2016-10-08 10:54 0 1537 推薦指數:
編譯原理學習筆記---- Thompson算法由正規式構造NFA 例如:求正規式 1(0|1)*101 的NFA 首先將正規式r=1(0|1)*101分解成r=r1,r2r3 將r2,r3展開得: 不確定有窮自動機(NFA) 一個不確定的有窮自動機T ...
第一章 是基本概念,讀完這一章是為了有個基本了解,這一章是很容易順利讀完的 第二章 這一章介紹了書中很多重要的東西。這一章雖然也有些難理解的地方,但是跟后面比還是容易很多,很多東西都很基本,對編譯系統有個基本的理解。 第三章 詞法分析 相比較語法分析,詞法分析相對比較簡單,就是一個自動機 ...
寫在前面的幾句廢話 最近在項目的過程中接觸了lex 和 yacc,他們可以幫助我們來實現自己的領域語言。最典型的應用就是可以幫助我們來實現自定義測試腳本的執行器。但是,這里也有一個限制,就是測試腳本 ...
鳴謝:王頂 老師(河北經貿大學,github:wangding),該文章為網絡課程教學素材。 我(吳甜甜)學習了王頂老師的github課程,並得到王頂老師網絡指導多次。 學習 GitHub 有什么好處? 為什么要學習 GitHub,或者說學習 GitHub 對我們有什么好處? 理由 ...
上篇留了一個引子,把英語學習描述成一種前期投入大,投入時間長,高風險高回報的投資。其實我覺得,但凡一件事,能從技的層面做到藝的高度,都具備這種特點。這是普遍現象,做什么事情都一樣。之所以上篇不講,是覺得做事情不要太看重表面的利,蘿卜+大棒的外在驅動固然有用,但內在的驅動則更為持久。而這 ...
這幾天忙着學英語,同時在學習編譯原理,對這門課很感興趣,已經制作了詞法分析器,同時還在補充這個分析器的功能,也准備着手開始寫語法分析器,看到最后能不能連在一起,我想如果能夠將整套編譯器的流程跑下來真的很棒呢,看比爾蓋茨那年齡都寫出BASIC了,真是覺得與大牛差距太大,一定要追趕 ...
詞法分析的任務: 首先,從階段上來看,編譯器可分為若干個中間階段: 典型的,可以包含為一個前端,一個后端。前端接收源程序產生一個中間表示,后端接收中間表示繼續生成一個目標程序。所以,前端處理的是跟源語言有關的屬性,后端處理跟目標機器有關的屬性。 更細節的,前端可以划分 ...
1、 翻譯——將語言L1轉換為邏輯上等價的語言L2 編譯——將源程序(高級語言)翻譯成目標程序(低級語言或機器語言) 匯編——將低級語言翻譯成機器語言 解釋(程序)——逐條翻譯語句,並立即執行結果 2、 單詞——關鍵字、標識符、常數、界符、運算符 單詞 ...