- 相關(guān)推薦
編譯原理語(yǔ)法分析上機實(shí)驗讀書(shū)工程匯報
一、開(kāi)發(fā)環(huán)境簡(jiǎn)介
此次編譯原理課程設計的編譯器的實(shí)現是基于VC++6.0編譯環(huán)境下實(shí)現的。
對于VC++6.0,它是Microsoft公司推出的開(kāi)發(fā)Win32環(huán)境程序,面向對象的可視化集成編程系統。它不僅具有程序框架自動(dòng)生成、靈活方便的類(lèi)管理、代碼編寫(xiě)和界面設計集成交互操作、可開(kāi)發(fā)多種程序等優(yōu)點(diǎn)。
VC++6.0不僅是一個(gè)C++ 編譯器,而且是一個(gè)基于Windows操作系統的可視化集成開(kāi)發(fā)環(huán)境。Visual C++6.0明顯縮短程式編輯、編譯及連結花費的時(shí)間,在大型軟件計劃上尤其顯著(zhù)。
二、基本理論闡述、當前理論
1.什么是編譯程序
語(yǔ)言翻譯程序把一種語(yǔ)言(稱(chēng)作源語(yǔ)言)書(shū)寫(xiě)的程序翻譯成另一種語(yǔ)言(稱(chēng)作目標語(yǔ)言)的等價(jià)程序。
2.高級語(yǔ)言程序的處理過(guò)程
3.編譯過(guò)程
三、小型編譯器系統架構(最重要)
1).詞法分析:
詞法分析是編譯過(guò)程的第一個(gè)階段。這個(gè)階段的任務(wù)是從左到右一個(gè)字符一個(gè)字符地讀入源程序,對構成源程序的字符流進(jìn)行掃描和分解,從而識別出一個(gè)個(gè)單詞(也稱(chēng)單詞符號或符號)。這里所謂的單詞是指邏輯上緊密相連的一組字符,這些字符具有集體含義。比如標識符是由字母字符開(kāi)頭,后跟字母、數字字符的字符序列組成的一種單詞。保留字(關(guān)鍵字或基本字)是一種單詞,此外還有算符、界符等等。
2).語(yǔ)法分析:
語(yǔ)法分析是編譯過(guò)程的第二過(guò)程。語(yǔ)法分析的任務(wù)是在詞法分析的基礎上將單詞序列分解成各類(lèi)語(yǔ)法短語(yǔ);如“程序”、“語(yǔ)句”、“表達式”等。一般這種語(yǔ)法短語(yǔ),也稱(chēng)語(yǔ)法單位,可表示成語(yǔ)法樹(shù)。
詞法分析和語(yǔ)法分析本質(zhì)上都是對源程序的結構進(jìn)行分析。但詞法分析的
任務(wù)僅對源程序進(jìn)行線(xiàn)性?huà)呙杓纯赏瓿,比如識別標識符,因為標識符的結構是字母打頭的字母和數字串,這只要順序掃描輸入流,遇到既不是字母又不是數字字符時(shí),將前面所發(fā)現的所有字母和數字組合在一起而構成單詞標識符。但這種線(xiàn)性?huà)呙鑴t不能用于識別遞歸定義的語(yǔ)法成分,比如就不能用此辦法去匹配表達式中的括號。
目前,已存在許多語(yǔ)法分析的方法。但就產(chǎn)生語(yǔ)法樹(shù)的方向而言,可大致把他們分為自底向上和自頂向下兩大類(lèi)。
3)中間代碼生成:
在進(jìn)行了上述的語(yǔ)法分析和語(yǔ)義分析階段的工作之后,有的編譯程序將源程序變成一種內部表示形式,這種內部表示形式叫做中間語(yǔ)言或中間代碼。所謂“中間代碼”是一種結構簡(jiǎn)單、含義明確的記號系統可以設計為多種多樣的形式,重要的設計原則為兩點(diǎn):一是容易生成;二是容易將它翻譯成目標代碼。很多編譯程序采用了一種近似‘三地址指令’的“四元式”中間代碼,這種四元式的形式為:(運算符,運算對象1,運算對象2,結果);
4).目標代碼生成:
這一階段的任務(wù)是把中間代碼變換成特定機器上的絕對指令代碼或可重定位的指令或匯編指令代碼。這是編譯的最后階段,它的工作與硬件系統結構和指令含義有關(guān),這個(gè)階段的工作很復雜,涉及到硬件系統功能部件的應用、機器指令的選擇、各種數據類(lèi)型變量的存儲空間分配以及寄存器和后援寄存器的調度等。
此外,本程序不涉及語(yǔ)義分析,代碼優(yōu)化等代碼優(yōu)化階段。
本次課程設計設計出的小型編譯器,適用范圍比較小,局限性較高,綜合度不算強。語(yǔ)言不是很?chē)乐,有待改進(jìn)。
四、小型編譯器主要功能模塊與實(shí)現
第一部分:語(yǔ)法分析程序;
(1).功能介紹
輸入LL(1)文法的字符串,LL(1)程序可以分析其匹配過(guò)程。輸入一個(gè)字符串,算符優(yōu)先程序可以分析其規約移進(jìn)的過(guò)程。
(2).相關(guān)理論
語(yǔ)法分析對輸入串的處理(進(jìn)棧與出棧,歸約和接受)是獨立于語(yǔ)法分析之外單獨的一部分,但是其只能分析有限的輸入串,無(wú)法完全任意識別。 相關(guān)理論
將表達式文法的預測分析表用二維數組儲存,然后當分析符號串依次掃描符號串中的字符,進(jìn)行匹配輸出即可。
(3)程序流程圖
LL(1)模擬程序實(shí)現流程:
【編譯原理語(yǔ)法分析上機實(shí)驗讀書(shū)工程匯報】相關(guān)文章:
編譯原理對職業(yè)生涯有怎樣的幫助?07-10
計算機專(zhuān)業(yè)是否需要開(kāi)設編譯原理課程07-03
上機實(shí)驗心得體會(huì )04-26
計算機上機實(shí)驗內容及實(shí)驗報告要求07-03
C語(yǔ)言上機實(shí)驗心得(通用10篇)10-28
電路原理實(shí)驗的指導書(shū)07-02
arduino實(shí)驗的匯報例文03-22
化工原理實(shí)驗總結報告范文07-04
財務(wù)管理上機課實(shí)驗心得10-28