詞法&語法分析器(帶小窗口)

Lexer-Parser

用java實現的詞法分析和語法分析的小程序

個人博客網站:https://daqwt.top

代碼:https://github.com/DAQ121/Lexer-Parser

結果圖

  • 詞法分析

在這裏插入圖片描述

  • 語法分析

在這裏插入圖片描述

在這裏插入圖片描述

  • 判斷是否是LL(1)文法

在這裏插入圖片描述

概述

  • 詞法分析: 根據輸入的字符序列,將字符序列轉換爲單詞Token序列,識別每個字符,並給出相應的類型。
  • 語法分析: 根據給定的文法,判斷是否是LL(1)文法,自頂向下分析。採用預測分析法:從文法開始符S 出發,從左到右掃描源程序,每次通過向前查看 1 個字符,選擇合適的產生式,生成句子的最左推導。
  • 步驟:
  1. 從文件讀入文法自動區分 終結符號VT 和 非終結符號VN
  2. 消除直接左遞歸
  3. 生成FIRSTFOLLOW集合
  4. 判斷是否是LL(1)文法
  5. 構建預測分析表
  6. 輸入要分析的單詞串自動輸出分析過程

代碼結構

在這裏插入圖片描述

使用說明

  • grammer文件夾放入F盤下,我在代碼包中也附帶了一個名爲文法測試.txt的文件,裏面有對應的四種文法以及需要輸入的字符串示例。
  • 運行Main主函數,即可…

在這裏插入圖片描述

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