編譯原理實驗指導書-語義分析_第1頁
編譯原理實驗指導書-語義分析_第2頁
編譯原理實驗指導書-語義分析_第3頁
全文預覽已結束

付費下載

下載本文檔

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

文檔簡介

編譯原理實驗指導書實驗3語義分析實驗目的鞏固對語義分析的基本功能和原理的認識。能夠基于語法指導翻譯的知識進行語義分析。掌握類高級語言中基本語句所對應的語義動作。理解并處理語義分析中的異常和錯誤。實驗內容在語法分析器的基礎上設計實現類高級語言的語義分析器,基本功能如下:能分析以下幾類語句,并生成中間代碼(三地址指令和四元式形式):聲明語句(包括變量聲明、數組聲明、記錄聲明和過程聲明)表達式及賦值語句(包括數組元素的引用和賦值)分支語句:if_then_else循環語句:do_while過程調用語句(2)具備語義錯誤處理能力,包括變量或函數重復聲明、變量或函數引用前未聲明、運算符和運算分量之間的類型不匹配(如整型變量與數組變量相加減)等錯誤,能準確給出錯誤所在位置,并采用可行的錯誤恢復策略。輸出的錯誤提示信息格式如下:ErroratLine[行號]:[說明文字](3)系統的輸入形式:要求能夠通過文件導入測試用例。測試用例要涵蓋第(1)條中列出的各種類型的語句,以及第(2)條中列出的各種類型的錯誤。(4)系統的輸出分為兩部分:一部分是打印輸出符號表。另一部分是打印輸出三地址指令和四元式序列,格式如下圖所示(以輸入語句“whilea<bdoifc<dthenx=y+zelsex=y-z”為例):1:(j<,a,b,3) ifa<bgoto32:(j,-,-,11) goto113:(j<,c,d,5) ifc<dgoto54:(j,-,-,8) goto85:(+,y,z,t1) t1=y+z6:(=,t1,-,x) x=t17:(j,-,-,1) goto18:(-,y,z,t2) t2=y-z9:(=,t2,-,x) x=t210:(j,-,-,1) goto111:除此之外,可以實現一些額外功能,例如自動類型轉換,識別其它類型語義錯誤,如過程返回類型與聲明類型不匹配;過程調用時實參與形參數目或類型不匹配;對非數組型變量使用數組訪問操作符“[…]”;對普通變量使用過程調用操作符“call”;數組訪問操作符“[…]”中出現非整數等。實驗要求(1)可以自己定義文法,也可以參考教材中給出的文法(參見本指導書附錄)(2)要求實驗之前完成實驗報告中的預習部分(即需求分析、文法設計和系統設計三個板塊)。未按時完成預習報告者將扣除相應分數。(3)要求當堂完成實驗內容,并進行現場驗收。未當堂完成驗收者將扣除相應分數。(4)要求實驗結束后一周內提交實驗報告及源程序。未按時提交者將影響成績評定。實驗評分標準一、課堂表現(10分)1.出勤情況(遲到,早退,缺席)2.是否遵守課堂紀律二、操作表現(50分)1.當堂按時完成(10分)2.功能齊全,結果正確無誤(30分)3.

溫馨提示

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

評論

0/150

提交評論