【編譯原理(實驗)】語法分析器(Java實現,帶UI界面)

實現方法

改語法分析器附帶詞法分析器

通過將詞法分析的單詞壓入語法分析棧中,採用 LL(1) 型文法進行分析;

實現功能

能夠識別簡單語法,包括:

1.變量聲明;
2.變量賦值;
3.變量的運算;
4.if,for,while等循環或條件語句;
5.自動過濾註釋語句。

文法語言

<程序> → <語句><程序> | Ɛ;
<語句> → <變量定義語句> | <賦值語句> | <函數調用語句> | <if語句>| <循環語句> | Ɛ
<變量定義語句> → <變量類型><標識符表>;
<賦值語句> → <標識符> = <表達式>;
<函數調用語句> → <標識符> ( <標識符表> );
<if語句> → if ( <條件表達式> ) { <語句> } <else語句>
<else語句> → 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

公衆號獲取:
關注微信公衆號 “科技毒瘤君”,回覆 “語法分析器
在這裏插入圖片描述

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