原始碼和文件分享 基於有限自動機的詞法分析器構造

2021-09-25 03:48:57 字數 654 閱讀 9390

本次實驗的主要目的是對自定義的程式語言的詞法分析器程式構造,我從 c 語言當中選擇了部分具有代表性的子集,實現詞法分析器,主要是對編譯原理課程中學習的從正則達式轉化為 nfa,再從 nfa 轉化為 dfa 以及後續的**生成的過程有更深刻的認識。同時,也希望對於在編譯原理課程中所體現出的電腦科學當中的一些樸素而優美的思想有更多的體會。

本報告主要描述了乙個簡單的詞法分析器構造過程,包括最終成品的功能概要,實現過程中的理論推導,具體的核心演算法和資料結構的描述,以及個人的收穫和體會。

3.1.1.1 保留字

我選擇了 c 語言當中一部分具有代表性的保留字,同時為了保持整個編譯原理課程實驗的延續性和後續語義分析的實驗內容,選擇的保留字能夠涵蓋程式設計中的順序、分支、和迴圈結構,這樣也可以很好的對正規表示式當中的三種基本運算連線、或、閉包運算形成很好的對應,除此之外,選擇了能夠形成對函式呼叫,變數宣告進行支援的部分保留字。具體選擇的保留字有如下幾個:

else, if,int,double,char,do,continue,break,float, return, void, while,for

3.1.1.2 特殊符號

原始碼和文件分享 基於有限自動機的詞法分析器構造

本次實驗的主要目的是對自定義的程式語言的詞法分析器程式構造,我從 c 語言當中選擇了部分具有代表性的子集,實現詞法分析器,主要是對編譯原理課程中學習的從正則達式轉化為 nfa,再從 nfa 轉化為 dfa 以及後續的 生成的過程有更深刻的認識。同時,也希望對於在編譯原理課程中所體現出的電腦科學當中的...

原始碼和文件分享 基於swift的詞法分析程式

計算正則式 讀入正規表示式 對正規表示式處理 建圖 生成 nfa 將 nfa 去除空節點 轉化為 nfa 將 nfa 轉化為 dfa 對 dfa 圖進行遍歷每個節點,獲取到每個節點通過某個字元到達哪下乙個狀態,並找到終態 構造 dfa 表 輸出顯示 驗證字串 在成功通過正規表示式構建 dfa 圖的基...

原始碼和文件分享 基於python的中文聊天機械人

前言 一 系統設計思路和框架 本次系統全部使用 python 編寫,在系統設計上遵循著配置靈活 模組化的思路,分為資料預處理器 資料處理器 執行器 深度學習模型 視覺化展示五個模組。模組間的邏輯關係大致為 資料預處理是將原始語料進行初步的處理以滿足於資料處理模組的要求 執行器是整個系統引擎分別在運轉...