編譯原理語法分析上機實驗讀書工程彙報
一、開發環境簡介
此次編譯原理課程設計的編譯器的實現是基於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)模擬程序實現流程:
相關文章
-
編譯原理課程的教學分析
計算機語言之所以能由單一的機器語言發展到現今的多種高級語言,就是因為有了編譯技術,它是計算機科學與技術中發展最迅速、最成熟的一個分支。“編譯原理”是計算機專業中一門非常有用的核心課程,綜合運用編譯理論及多門 -
計算機專業是否需要開設編譯原理課程
隨着信息技術的迅猛發展及其應用領域的不斷深化,幾乎所有專業的研究與應用都離不開信息技術。信息化浪潮對高等教育也帶來非常直接的變化,各專業課程設置無不將計算機知識教育作為其課程設置的組成部分。幾乎所有專業的 -
工程材料驗證性實驗教學改革與實踐分析
導語:工程材料有各種不同的分類方法。一般都將工程材料按化學成分分為金屬材料、非金屬材料、高分子材料和複合材料四大類。工程材料課程具有理論性和實踐性較強的特點。為了提高學生的動手實踐能力,實驗教學中普遍重視 -
設備監理工程師案例分析備考經驗與方法
整篇作文修改訓練 下面的習作,先指出其思維上存在的毛病,再進行修改。 例1:《魯侯養鳥》讀後 有這樣一則故事,講的是魯國一個國君把棲息在郊外的一種海鳥迎至祖廟,供之以動聽的音樂及美味佳餚,可謂關懷備至,然 -
法語翻譯考試語法分析之現代分詞的構成與特徵
1.構成:直陳式現在時第一人稱複數去掉詞尾-ons,換上-ant。parler——parlons——parlantfinir——finissons——finissantvenir——venons——venant三個例外的動詞:avoir——ayantêtre——étantsavoir——sachant2.特 -
考太原理工機械學院的經驗分享
我早就承諾過考上後寫點東西了,現在總算是時候了。我是雙跨的,就是跨專業跨學校的考機械的,08年七月開始準備的,初試大家都應該清楚了,我就不説了。但是,我們院裏是有輔導班的,我認為如果條件允許,能來的還是要來,這樣有針對性 -
計算機上機實驗內容及實驗報告要求
一、《軟件技術基礎》上機實驗內容1.順序表的建立、插入、刪除。2.帶頭結點的單鏈表的建立(用尾插法)、插入、刪除。二、提交到個人10m硬盤空間的內容及截止時間1.分別建立二個文件夾,取名為順序表和單鏈表。2.在這二 -
計算機組成原理的實驗報告
程序控制器實驗一、 實驗目的:(1) 理解時序產生器的原理,瞭解時鐘和時序信號的波形。 (2) 掌握微程序控制器的功能、組成知識。 (3) 掌握微指令格式和各字段功能。(4) 掌握微指令的編制、寫入、觀察微程序的運行二、 實 -
關於計算機技術在工程管理中的應用分析報告
計算機技術在建築施工、電力施工等多個領域起到了積極的作用。實踐證明,隨着近年來計算機技術的快速發展,工程管理的成效越來越明顯。工程造價,施工安全等問題得到了合理的解決。一、工程管理系統構成及其現狀(一)工程管 -
分析環境工程專業化工原理教學改革
尊敬的黨組織:近日,xx同志在出席中共中央黨校春季學期開學典禮時指出,領導幹部要防止在別人的圍獵中掉進圈套。“圍獵”領導幹部,是政治生態不健康的典型病症。“圍獵”的誘發因素多種多樣,但終究離不開權與利的纏繞糾葛,本