編譯原理語法分析上機實驗讀書工程彙報
一、開發環境簡介
此次編譯原理課程設計的編譯器的實現是基於VC++6.0編譯環境下實現的。
對於VC++6.0,它是Microsoft公司推出的開發Win32環境程序,面向對象的可視化集成編程系統。它不僅具有程序框架自動生成、靈活方便的類管理、代碼編寫和界面設計集成交互操作、可開發多種程序等優點。
VC++6.0不僅是一個C++ 編譯器,而且是一個基於Windows操作系統的可視化集成開發環境。Visual C++6.0明顯縮短程式編輯、編譯及連結花費的時間,在大型軟件計劃上尤其顯著。
二、基本理論闡述、當前理論
1.什麼是編譯程序
語言翻譯程序把一種語言(稱作源語言)書寫的程序翻譯成另一種語言(稱作目標語言)的等價程序。
2.高級語言程序的處理過程
3.編譯過程
三、小型編譯器系統架構(最重要)
1).詞法分析:
詞法分析是編譯過程的第一個階段。這個階段的任務是從左到右一個字符一個字符地讀入源程序,對構成源程序的字符流進行掃描和分解,從而識別出一個個單詞(也稱單詞符號或符號)。這裏所謂的單詞是指邏輯上緊密相連的一組字符,這些字符具有集體含義。比如標識符是由字母字符開頭,後跟字母、數字字符的字符序列組成的一種單詞。保留字(關鍵字或基本字)是一種單詞,此外還有算符、界符等等。
2).語法分析:
語法分析是編譯過程的第二過程。語法分析的任務是在詞法分析的基礎上將單詞序列分解成各類語法短語;如“程序”、“語句”、“表達式”等。一般這種語法短語,也稱語法單位,可表示成語法樹。
詞法分析和語法分析本質上都是對源程序的結構進行分析。但詞法分析的
任務僅對源程序進行線性掃描即可完成,比如識別標識符,因為標識符的結構是字母打頭的字母和數字串,這隻要順序掃描輸入流,遇到既不是字母又不是數字字符時,將前面所發現的所有字母和數字組合在一起而構成單詞標識符。但這種線性掃描則不能用於識別遞歸定義的語法成分,比如就不能用此辦法去匹配表達式中的括號。
目前,已存在許多語法分析的方法。但就產生語法樹的方向而言,可大致把他們分為自底向上和自頂向下兩大類。
3)中間代碼生成:
在進行了上述的語法分析和語義分析階段的工作之後,有的編譯程序將源程序變成一種內部表示形式,這種內部表示形式叫做中間語言或中間代碼。所謂“中間代碼”是一種結構簡單、含義明確的記號系統可以設計為多種多樣的形式,重要的設計原則為兩點:一是容易生成;二是容易將它翻譯成目標代碼。很多編譯程序採用了一種近似‘三地址指令’的“四元式”中間代碼,這種四元式的形式為:(運算符,運算對象1,運算對象2,結果);
4).目標代碼生成:
這一階段的任務是把中間代碼變換成特定機器上的絕對指令代碼或可重定位的指令或彙編指令代碼。這是編譯的最後階段,它的工作與硬件系統結構和指令含義有關,這個階段的'工作很複雜,涉及到硬件系統功能部件的應用、機器指令的選擇、各種數據類型變量的存儲空間分配以及寄存器和後援寄存器的調度等。
此外,本程序不涉及語義分析,代碼優化等代碼優化階段。
本次課程設計設計出的小型編譯器,適用範圍比較小,侷限性較高,綜合度不算強。語言不是很嚴謹,有待改進。
四、小型編譯器主要功能模塊與實現
第一部分:語法分析程序;
(1).功能介紹
輸入LL(1)文法的字符串,LL(1)程序可以分析其匹配過程。輸入一個字符串,算符優先程序可以分析其規約移進的過程。
(2).相關理論
語法分析對輸入串的處理(進棧與出棧,歸約和接受)是獨立於語法分析之外單獨的一部分,但是其只能分析有限的輸入串,無法完全任意識別。 相關理論
將表達式文法的預測分析表用二維數組儲存,然後當分析符號串依次掃描符號串中的字符,進行匹配輸出即可。
(3)程序流程圖
LL(1)模擬程序實現流程:
-
文化站建設的自查彙報
文化站建設的自查彙報在現實的學習、工作中,我們在越來越多的地方看到各種不同形式的彙報,彙報可以是任務開始前,也可以是任務結束之後進行的,每個階段的彙報重點不一樣,寫彙報都需要注意哪些格式呢?以下是小編幫大家整理的文化站建設的自查彙報,供大家參考借鑑,希望可...
-
住房安全隱患排查情況彙報(精選6篇)
現如今,彙報的使用範圍越來越廣,彙報可以是任務開始前,也可以是任務結束之後進行的,每個階段的彙報重點不一樣,不過,你會寫彙報嗎?下面是小編幫大家整理的住房安全隱患排查情況彙報(精選6篇),希望能夠幫助到大家。住房安全隱患排查情況彙報(精選6篇)1為深入貫徹黨中央、國...
-
城鎮燃氣安全工作彙報
在日復一日的學習、工作生活中,很多時候都需要進行彙報,彙報可以是任務開始前,也可以是任務結束之後進行的,每個階段的彙報重點不一樣,大家知道正式的彙報怎麼寫嗎?以下是小編幫大家整理的城鎮燃氣安全工作彙報,歡迎大家分享。城鎮燃氣安全工作彙報1為着力解決社會治...
-
節日前安全檢查彙報(精選10篇)
無論是在學校還是在社會中,彙報的使用範圍越來越廣,彙報就是把某個階段做的工作,進行全面系統的分析、研究後報告給上級領導,為了幫助大家更好的完成彙報,以下是小編為大家收集的節日前安全檢查彙報(精選10篇),希望能夠幫助到大家。節日前安全檢查彙報(精選10篇)1一、基...