語法分析器構造 詞法分析器構造實驗

2021-08-20 13:11:47 字數 612 閱讀 9847

借助於詞法分析程式提供的分析結果,編寫乙個算符優先語法分析程式,程式能進行語法結構分析和錯誤檢查,並產生相應的歸約資訊。同時給出出錯資訊和錯誤型別,從而加深對語法分析的理解。

二、實驗內容

給定文法g和算符優先分析法,構造其算符優先分析程式。文法g:

語句→賦值語句|條件語句|轉移語句|帶標號的賦值語句

帶標號的賦值語句→《標號》《賦值語句》

賦值語句→變數=算術表示式

條件語句→tf 《布林表示式》 then 語句

         |tf 《布林表示式》 then語句 else 語句

轉移語句→goto標號

變數→識別符號

識別符號→字母|《識別符號》《數字》

字母→a|b|…|z|a|b|…|z

數字→0|1|…|9

算術表示式→項|算術表示式+項|算術表示式-項

項→因子|項*因子|項/因子|因子↑項

因子→變數|常數|(表示式)

布林表示式→《算術表示式》《關係符》《算術表示式》

關係符→>|<|>=|<=|=|<>

標號→常數

常數→數字|《常數》《數字》

二 詞法分析器構造原理

一 正則式 regular expression 1.正則式定義 表示語言,a表示語言,r s 表示語言l r 並l s r s 表示語言l r l s r 表示語言 l r 正則式優先順序為 閉包 連線 或,即 a b c 寫為ab c 再給一些例子 a b a b 定義的語言為,a b 定義為由...

用YACC構造簡單語法分析器

課堂實驗題 說明部分 翻譯規則 用c語言編寫的輔助例程 按照yacc的源程式規則由題中所給文法寫出trans.y token digit line expr n expr expr term expr term term term term factor factor factor expr dig...

LR 語法分析器

lr語法分析器算是基本完成了,只需要乙個文法定義檔案 syntax 就可以進行對應語言的語法分析,最後形成語法樹。詞法分析是固定的,採用c 的詞法定義。以後將加入動態的詞法分析。壓縮包中檔案的描述 lrtable.exe 是用文法定義檔案 syntax檔案 生成lr動作表檔案 action檔案 使用...