3词法分析 - 有穷自动机
生活随笔
收集整理的這篇文章主要介紹了
3词法分析 - 有穷自动机
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有窮自動機
- FAFAFA 的表示:轉換圖
- FAFAFA 定義(接收)的語言
- 最長子串匹配原則
- 有窮自動機FA的分類
- 確定的有窮自動機DFA
- 非確定有窮自動機NFA
- 帶有“空邊”的NFA
- 帶有和不帶有“空邊”的NFA的等價性
這類系統具有一系列離散的輸入輸出信息和有窮數目的內部狀態(狀態:概括了對過去輸入信息處理的狀況)
系統只需要根據當前所處的狀態和當前面臨的輸入信息就可以決定系統的后繼行為。每當系統處理了當前的輸入后,系統的內部狀態也將發生改變。
- 輸入帶:用來存放輸入符號串
- 讀頭:從左向右逐個讀取輸入符號,不能修改(只讀),不能往返移動
- 有窮控制器:具有有窮個狀態數,根據當前的狀態和當前輸入符號控制轉入下一狀態。
FAFAFA 的表示:轉換圖
結點:FA的狀態
- 初始狀態(開始狀態):只有一個,由start箭頭指向
- 終止狀態(接收狀態):可以有多個,用雙圈表示
- 帶標記的有向邊:如果對于輸入a,存在一個從狀態p到狀態q的轉換,就在p、q之間畫一條有向邊,并標記上a
FAFAFA 定義(接收)的語言
給定輸入串x,如果存在一個對應于串x的從初始狀態到某個終止狀態的轉換序列,則稱串x被該FA接收
由一個有窮自動機M接收的所有串構成的集合稱為是該 FAFAFA 定義(或接收)的語言,記為L(M)L(M)L(M)
最長子串匹配原則
當輸入串的多個前綴與一個或多個模式匹配時,總是選擇最長的前綴進行匹配。
在到達某個終態之后,只要輸入帶上還有符號,FA就繼續前進,以便尋找最可能長的匹配
有窮自動機FA的分類
- 確定的FA(Deterministic finite automata)—— DFA
- 非確定的FA(Nondeterministic finite automata)—— NFA
確定的有窮自動機DFA
符號從左到右依次是:
- 有窮狀態集
- 輸入字母表
- 轉換函數
- 開始狀態(或初始狀態)
- 接收狀態(或終止狀態)集合
非確定有窮自動機NFA
寫轉換表時:
如果轉換函數沒有給出對應于某個狀態-輸入對的信息,就把空集放入相應的表項中
帶有“空邊”的NFA
帶有和不帶有“空邊”的NFA的等價性
總結
以上是生活随笔為你收集整理的3词法分析 - 有穷自动机的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ibm 2011年服务器型号,IBM x
- 下一篇: Unity导出exe报错,PC端