語法分析-哈工大編譯原理實驗二

實驗2語法分析

實驗目的

1.鞏固對語法分析的基本功能和原理的認識。

2.通過對語法分析表的自動生成加深語法分析表的認識。

3.理解並處理語法分析中的異常和錯誤。

實驗內容

在詞法分析器的基礎上設計實現類高級語言的語法分析器,基本功能如下:

(1)    能識別以下幾類語句:

Ø 聲明語句(包括變量聲明、數組聲明、記錄聲明和過程聲明

Ø 表達式及賦值語句(包括數組元素的引用和賦值)

Ø 分支語句:if_then_else

Ø 循環語句:do_while

Ø 過程調用語句

(2)如果語法分析器採用的是自頂向下的分析技術,要求編寫程序自動計算FIRST集和FOLLOW,並自動生成預測分析表。如果採用的是自底向上的分析技術,要求編寫自動計算CLOSURE(I)GOTO函數的程序,並自動生成LR分析表

(3)具備語法錯誤處理能力,能準確給出錯誤所在位置,並採用可行的錯誤恢復策略。輸出的錯誤提示信息格式如下:

Error at Line [行號]:[說明文字]

(4)系統的輸入形式:要求可以通過文件導入文法和測試用例,可以通過用戶界面顯示並編輯測試用例。測試用例要涵蓋“實驗內容”第(1)條中列出的各種類型的語句,並設置一些語法錯誤

(5)系統的輸出分爲兩部分:一部分是打印輸出語法分析器的FIRST集、FOLLOW集和LL(1)分析表(或LR分析表)。另一部分是打印輸出語法分析結果


在這裏我就附上我的實驗報告啦~

自我感覺還是不錯的嘻嘻嘻

http://download.csdn.net/download/qq_32285991/10125099

源代碼:https://github.com/JiayanFighting/SyntaxAnalysis

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章