實驗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