首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

仿 SQL 查詢分析器的 C# 計算器(三)詞法分析導論:TokenFactory 架構與四大工廠類別

     編輯:關於C語言

承接上篇,本篇講如何將運算式轉換成記號物件,涉及編譯原理中的詞法分析。關於編譯原理不多講,只知有限自動機概念。不管什麼概念,代碼實現才是最終目標。

因不清楚字串包含什麼字元,只能逐字元處理,用迴圈一次向後取一字元判斷。建立 TokenFactory 記號「工廠」類別,負責分析運算式並「生產」 TokenRecord 物件。包含兩個方法:LexicalAnalysis 與 ProduceToken。LexicalAnalysis 用於詞法分析,分析到符合規則的記號物件後調用 ProduceToken 「生產」對應 TokenRecord。偷懶將所有方法寫成 static,避免實例化多個子類別。

從此類別衍生四個子類別:

  • TokenKeywordFactory:處理關鍵字
  • TokenSymbolFactory:處理運算子
  • TokenStringFactory:處理字串
  • TokenNumberFactory:處理數字

類別圖如下:

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved