編譯原理實驗三 語法分析(遞迴下降法)

2021-04-07 08:35:52 字數 859 閱讀 4772

[實驗任務]

完成以下描述算術表示式的ll(1)文法的遞迴下降分析程式

g[e]:

e→te′

e′→ate′|ε

t→ft′

t′→mft′|ε

f→ (e)|i

a→+|-

m→*|/

說明:終結符號i為使用者定義的簡單變數,即識別符號的定義。

[設計要求]

1、 輸入串應是詞法分析的輸出二元式序列,即某算術表示式「實驗專案一」的輸出結果。輸出為輸入串是否為該文法定義的算術表示式的判斷結果。

2、 遞迴下降分析程式應能發現輸入串出錯。

3、 設計兩個測試用例(盡可能完備,正確和出錯),並給出測試結果。

demo.cpp

bool e()

}return false;

}bool e_prime()

else return false;

}else return false;

}return true;

}bool t()

}return false;

}bool t_prime()

else return false;

}else return false;

}return true;

}bool f() }}

else if (a == 'i')

return false;

}bool a()

else if (a == '-')

return false;

}bool m()

else if (a == '/')

return false;

}

編譯原理 實驗2 遞迴下降語法分析程式設計

實驗要求 1 待分析的簡單語言的詞法同實驗1 2 待分析的簡單語言的語法 用擴充的bnf表示如下 1 程式 begin 語句串 end 2 語句串 語句 3 語句 賦值語句 4 賦值語句 id 表示式 5 表示式 項 6 項 因子 7 因子 id num 表示式 3 語法分析程式的功能 輸入單詞串以...

遞迴下降語法分析實驗

通過設計 開發乙個高階語言的遞迴下降語法分析程式,實現 對詞法分析程式所提供的單詞序列進行語法檢查和結構分析,加 深對相關課堂教學內容的理解,提高語法分析方法的實踐能力。1 理解語法分析在編譯程式中的作用,以及它與詞法分析程式的 關係 2 掌握遞迴下降語法分析方法的主要原理 3 理解遞迴下降分析法對...

實驗二 遞迴下降語法分析

一 實驗目的 利用c語言編制遞迴下降分析程式,並對簡單語言進行語法分析。編制乙個遞迴下降分析程式,實現對詞法分析程式所提供的單詞序列的語法檢查和結構分析。二 實驗原理 每個非終結符都對應乙個子程式。該子程式根據下乙個輸入符號 select集 來確定按照哪乙個產生式進行處理,再根據該產生式的右端 三 ...