97超级碰碰碰久久久_精品成年人在线观看_精品国内女人视频免费观_福利一区二区久久

編譯原理語法分析上機實驗讀書工程匯報

時間:2022-06-28 04:20:24 工作匯報 我要投稿
  • 相關推薦

編譯原理語法分析上機實驗讀書工程匯報

  一、開發(fā)環(huán)境簡介

編譯原理語法分析上機實驗讀書工程匯報

  此次編譯原理課程設計的編譯器的實現(xiàn)是基于VC++6.0編譯環(huán)境下實現(xiàn)的。

  對于VC++6.0,它是Microsoft公司推出的開發(fā)Win32環(huán)境程序,面向對象的可視化集成編程系統(tǒng)。它不僅具有程序框架自動生成、靈活方便的類管理、代碼編寫和界面設計集成交互操作、可開發(fā)多種程序等優(yōu)點。

  VC++6.0不僅是一個C++ 編譯器,而且是一個基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境。Visual C++6.0明顯縮短程式編輯、編譯及連結花費的時間,在大型軟件計劃上尤其顯著。

  二、基本理論闡述、當前理論

  1.什么是編譯程序

  語言翻譯程序把一種語言(稱作源語言)書寫的程序翻譯成另一種語言(稱作目標語言)的等價程序。

  2.高級語言程序的處理過程

  3.編譯過程

  三、小型編譯器系統(tǒng)架構(最重要)

  1).詞法分析:

  詞法分析是編譯過程的第一個階段。這個階段的任務是從左到右一個字符一個字符地讀入源程序,對構成源程序的字符流進行掃描和分解,從而識別出一個個單詞(也稱單詞符號或符號)。這里所謂的單詞是指邏輯上緊密相連的一組字符,這些字符具有集體含義。比如標識符是由字母字符開頭,后跟字母、數(shù)字字符的字符序列組成的一種單詞。保留字(關鍵字或基本字)是一種單詞,此外還有算符、界符等等。

  2).語法分析:

  語法分析是編譯過程的第二過程。語法分析的任務是在詞法分析的基礎上將單詞序列分解成各類語法短語;如“程序”、“語句”、“表達式”等。一般這種語法短語,也稱語法單位,可表示成語法樹。

  詞法分析和語法分析本質上都是對源程序的結構進行分析。但詞法分析的

  任務僅對源程序進行線性掃描即可完成,比如識別標識符,因為標識符的結構是字母打頭的字母和數(shù)字串,這只要順序掃描輸入流,遇到既不是字母又不是數(shù)字字符時,將前面所發(fā)現(xiàn)的所有字母和數(shù)字組合在一起而構成單詞標識符。但這種線性掃描則不能用于識別遞歸定義的語法成分,比如就不能用此辦法去匹配表達式中的括號。

  目前,已存在許多語法分析的方法。但就產生語法樹的方向而言,可大致把他們分為自底向上和自頂向下兩大類。

  3)中間代碼生成:

  在進行了上述的語法分析和語義分析階段的工作之后,有的編譯程序將源程序變成一種內部表示形式,這種內部表示形式叫做中間語言或中間代碼。所謂“中間代碼”是一種結構簡單、含義明確的記號系統(tǒng)可以設計為多種多樣的形式,重要的設計原則為兩點:一是容易生成;二是容易將它翻譯成目標代碼。很多編譯程序采用了一種近似‘三地址指令’的“四元式”中間代碼,這種四元式的形式為:(運算符,運算對象1,運算對象2,結果);

  4).目標代碼生成:

  這一階段的任務是把中間代碼變換成特定機器上的絕對指令代碼或可重定位的指令或匯編指令代碼。這是編譯的最后階段,它的工作與硬件系統(tǒng)結構和指令含義有關,這個階段的工作很復雜,涉及到硬件系統(tǒng)功能部件的應用、機器指令的選擇、各種數(shù)據類型變量的存儲空間分配以及寄存器和后援寄存器的調度等。

  此外,本程序不涉及語義分析,代碼優(yōu)化等代碼優(yōu)化階段。

  本次課程設計設計出的小型編譯器,適用范圍比較小,局限性較高,綜合度不算強。語言不是很嚴謹,有待改進。

  四、小型編譯器主要功能模塊與實現(xiàn)

  第一部分:語法分析程序;

  (1).功能介紹

  輸入LL(1)文法的字符串,LL(1)程序可以分析其匹配過程。輸入一個字符串,算符優(yōu)先程序可以分析其規(guī)約移進的過程。

  (2).相關理論

  語法分析對輸入串的處理(進棧與出棧,歸約和接受)是獨立于語法分析之外單獨的一部分,但是其只能分析有限的輸入串,無法完全任意識別。 相關理論

  將表達式文法的預測分析表用二維數(shù)組儲存,然后當分析符號串依次掃描符號串中的字符,進行匹配輸出即可。

  (3)程序流程圖

  LL(1)模擬程序實現(xiàn)流程:

【編譯原理語法分析上機實驗讀書工程匯報】相關文章:

編譯原理對職業(yè)生涯有怎樣的幫助?07-10

上機實驗內容及實驗報告要求06-30

計算機專業(yè)是否需要開設編譯原理課程07-03

上機實驗心得體會04-26

計算機上機實驗內容及實驗報告要求07-03

C語言上機實驗心得(通用10篇)10-28

電路原理實驗的指導書07-02

arduino實驗的匯報例文03-22

化工原理實驗總結報告范文07-04

財務管理上機課實驗心得10-28