編譯原理實驗指導書-語法分析_第1頁
編譯原理實驗指導書-語法分析_第2頁
編譯原理實驗指導書-語法分析_第3頁
編譯原理實驗指導書-語法分析_第4頁
編譯原理實驗指導書-語法分析_第5頁
全文預覽已結(jié)束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

編譯原理實驗指導書實驗2語法分析實驗目的鞏固對語法分析的基本功能和原理的認識。通過對語法分析表的自動生成加深語法分析表的認識。理解并處理語法分析中的異常和錯誤。實驗內(nèi)容在詞法分析器的基礎上設計實現(xiàn)類高級語言的語法分析器,基本功能如下:能識別以下幾類語句:聲明語句(包括變量聲明、數(shù)組聲明、記錄聲明和過程聲明)表達式及賦值語句(包括數(shù)組元素的引用和賦值)分支語句:if_then_else循環(huán)語句:do_while過程調(diào)用語句(2)如果語法分析器采用的是自頂向下的分析技術,要求編寫程序自動計算FIRST集和FOLLOW集,并自動生成預測分析表。如果采用的是自底向上的分析技術,要求編寫自動計算CLOSURE(I)和GOTO函數(shù)的程序,并自動生成LR分析表。(3)具備語法錯誤處理能力,能準確給出錯誤所在位置,并采用可行的錯誤恢復策略。輸出的錯誤提示信息格式如下:ErroratLine[行號]:[說明文字](4)系統(tǒng)的輸入形式:要求可以通過文件導入文法和測試用例,可以通過用戶界面顯示并編輯測試用例。測試用例要涵蓋“實驗內(nèi)容”第(1)條中列出的各種類型的語句,并設置一些語法錯誤。(5)系統(tǒng)的輸出分為兩部分:一部分是打印輸出語法分析器的FIRST集、FOLLOW集和LL(1)分析表(或LR分析表)。另一部分是打印輸出語法分析結(jié)果,格式如下:將構(gòu)造好的語法分析樹按照先序遍歷的方式打印每一個結(jié)點的信息,這些信息包括結(jié)點的名稱以及結(jié)點對應的成分在輸入文件中的行號(行號被括號所包圍,并且與結(jié)點名稱之間有一個空格)。所謂某個成分在輸入文件中的行號是指該成分產(chǎn)生的所有詞素中的第一個在輸入文件中出現(xiàn)的行號。對于葉結(jié)點,如果其token的屬性值不為空,則將其屬性值也打印出來。屬性值與結(jié)點名稱之間以一個冒號和空格隔開。每一個結(jié)點獨占一行,而每個子結(jié)點的信息相對于其父結(jié)點的信息來說,在行首都要求縮進2個空格。具體輸出格式參見下例(該例輸入:1 procinc;2 inti;3 i=i+1;

輸出:P(1) D(1) proc(1) id :inc(1);(1)D(2) T(2) X(2) integer(2) id :i(2) ;(2)S(3) id :i(3) =(3) E(3) E(3) id :I(3) +(3) E(3) digit :1(3) ;(3)除此之外,可以實現(xiàn)一些額外功能,如輸出分析結(jié)果的樹狀圖。實驗要求(1)可以自己定義文法,也可以參考教材中給出的文法(參見本指導書附錄)(2)要求實驗之前完成實驗報告中的預習部分(即需求分析、文法設計和系統(tǒng)設計三個板塊)。未按時完成預習報告者將扣除相應分數(shù)。(3)要求當堂完成實驗內(nèi)容,并進行現(xiàn)場驗收。未當堂完成驗收者將扣除相應分數(shù)。(4)要求實驗結(jié)束后一周內(nèi)提交實驗報告及源程序。未按時提交者將影響成績評定。實驗評分標準一、課堂表現(xiàn)(10分)1.出勤情況(遲到,早退,缺席)2.是否遵守課堂紀律二、操作表現(xiàn)(50分)1.當堂按時完成(10分)2.功能齊全,結(jié)果正確無誤(30分)3.界面美觀、人性化,具有良好演示效果(10分)三、實驗報告(40分)1.需求分析(10分)2.設計(20分)3.系統(tǒng)實現(xiàn)及結(jié)果分析(10分)附錄:參考文法P?D //參見教材p229P?S //參見教材p241 S?SS //參見教材p241/*聲明*/D?DD|procid;DS|Tid; //參見講義第7章 T→XC|recordD //參見教材p227 X→integer|real //參見教材p227C→[num]C|ε //參見教材p227/*賦值語句*/S?id=E;|L=E; //參見教材p234E?E+E|E*E|-E|(E)|id|digit|L //參見教材p234L?id[E]|L[E] //參見教材p234/*控制流語句*/S?ifBthenS1 //參見教材p241|ifBthenS1elseS2 //參見教材p241 |whileBdoS1 //參見教材p241B→BorB //參見教材p243 |BandB //參見教材p243 |notB //參見教材p243 |(B) //參見教材p243 |ErelopE //參見教材p243 |true //參見教材p243 |false //參見教材p243relop→<|<=|==|!=|>|>=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論