用swift寫了個詞法分析程式

2021-09-25 03:51:00 字數 533 閱讀 6721

最近學習編譯原理,用swift寫了個詞法分析程式,和大家一起交流,詳細**和文件移步

計算正則式:

1.讀入正規表示式

2.對正規表示式處理、建圖、生成 ε-nfa

3.將 ε-nfa 去除空節點、轉化為 nfa

4.將 nfa 轉化為 dfa

5.對 dfa 圖進行遍歷每個節點,獲取到每個節點通過某個字元到達哪下乙個狀態, 並找到終態、構造 dfa 表、輸出顯示

驗證字串:

1.在成功通過正規表示式構建 dfa 圖的基礎上,讀入任意字串 從字串第乙個字元、dfa 圖的第乙個節點開始

2.判斷是否有當前的字串的字元可以使當前的 dfa 圖節點走到下乙個節點

3.若有,則走向下乙個節點,重複 2 操作,若無,則返回 false

4.當字串從頭到尾監測完成後,判斷當前所在節點是否是終態節點,若是,則返 回 true,反之則返回 false

詞法分析程式

上課沒聽啥,一邊看書,一邊做的。基本上,老師的要求是實現了,能把乙個句子 也可以是一整個程式,但還不完善,由於時間急,很多情況來不及考慮了 中的單詞項分析出它是保留字,還是識別符號,運算子等等。開始是在控制台下做得,也比較純正 lex.h ifndef lex h define lex h incl...

詞法分析程式

include include char scanin 300 scanout 300 extern int testscan char scanin 300 scanout 300 file fin,fout 指向輸入輸出檔案的指標 int main include include include...

詞法分析程式

include include void fenxi char c,char b void word char a void number char a int i 定義全域性變數i int s 1 用來記錄是否存在非法字元 main printf n void number char a 對數字字...