實現方法
改語法分析器附帶詞法分析器;
通過將詞法分析的單詞壓入語法分析棧中,採用 LL(1) 型文法進行分析;
實現功能
能夠識別簡單語法,包括:
1.變量聲明;2.變量賦值;3.變量的運算;4.if,for,while等循環或條件語句;5.自動過濾註釋語句。
文法語言
<程序> → <語句><程序> | Ɛ; <語句> → <變量定義語句> | <賦值語句> | <函數調用語句> || <循環語句> | Ɛ <變量定義語句> → <變量類型><標識符表>; <賦值語句> → <標識符> = <表達式>; <函數調用語句> → <標識符> ( <標識符表> );→ if ( <條件表達式> ) { <語句> }→ else{ <語句> } | Ɛ <循環語句> → while ( <條件表達式> ) { <語句> } <標識符表> → <標識符>| <標識符表>,<標識符> <條件表達式> → <表達式><比較運算符><表達式> <比較運算符> → > | >= | < | <= | != | == <變量類型>→ char | short | int | long | float | double <表達式> → +T | -T | T | <表達式> + T | <表達式>-T T → F | T*F | T/F F → <標識符> | <無符號整數> | (<表達式 >)
正確示例截圖
錯誤示例截圖
源碼獲取
源碼和可運行的程序jar包均已打包,獲取方式如下:
CSDN資源下載鏈接:https://download.csdn.net/download/weixin_44155115/12284107
公衆號獲取:關注微信公衆號 “科技毒瘤君”,回覆 “語法分析器”