ChatDiagram
4 templates · State diagram

Thompson 構造 ε-NFA 狀態圖

Thompson 構造是一種將正規表示式轉換為 ε-NFA(ε-NFA)的系統化方法。本頁整理了使用 Thompson 構造建立的 ε-NFA 範例,涵蓋從簡單 token 到複雜表示式的各種正規表示式。無論你是在學習自動機理論、設計詞法分析器,或驗證自己的構造,這些圖表都能作為視覺化參考。

Standard OMG UML 2.5.1 §14 + Harel (1987) statechartEngine schematex-stateExport SVG · PNG · PDF
How to

How to use a state diagram template.

  1. 01輸入正規表示式

    輸入或貼上要轉換的正規表示式,使用 a|b、a*、(ab) 等標準語法。

  2. 02套用 Thompson 構造

    工具會自動套用構造規則,為每個子表示式建立狀態與轉移,產生 ε-NFA。

  3. 03檢視產生的圖表

    檢查狀態圖,確認它正確表示你的正規表示式,包括所有 ε-轉移。

  4. 04調整配置與標籤

    拖曳狀態、重新繪製轉移路徑或編輯標籤,以提升可讀性,同時不改變自動機的行為。

  5. 05匯出或分享 ε-NFA

    將圖表下載為圖片或 PDF,或分享可即時檢視的連結以便協作。

FAQ

Questions about state diagram templates

什麼是 Thompson 構造?

Thompson 構造是一種將正規表示式轉換為等價 ε-NFA 的演算法。它會遞迴拆解正規表示式中的原子子表示式,再利用串接、聯集與 Kleene 星號的規則將它們組合起來。

Thompson 構造為什麼使用 ε-轉移?

ε-轉移讓構造過程能在不合併狀態或建立複雜轉移的情況下,組合較小的自動機。它們就像連接各個子自動機的「黏著劑」,同時保留整體語言。

我可以使用此工具將任何正規表示式轉換為 ε-NFA 嗎?

可以,只要正規表示式使用標準運算子(聯集、串接、星號、加號、選用、字元類別)即可。此工具支援完整語法,並會自動產生對應的 ε-NFA。

Thompson 構造與其他正規表示式轉 NFA 方法有何不同?

Thompson 構造簡單且具系統性,產生的 NFA 狀態數最多是正規表示式長度的兩倍。Glushkov 構造等其他方法可能產生較少狀態,但實作複雜度較高。

我可以將 ε-NFA 圖表匯出到文件中使用嗎?

當然可以。此工具可將圖表匯出為 PNG、SVG 或 PDF,方便放入報告、作業或簡報中。