词法分析(3)---DFA
生活随笔
收集整理的這篇文章主要介紹了
词法分析(3)---DFA
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. DFA(Deterministic Finite automaton)
DFA就是確定的有限自動機,因為DFA和NFA關系密切,我們經常需要把他們拿到一起來講,NFA可以轉化成為一個DFA,DFA依然是一個數學model,它和NFA有以下區別
1. 不存在ε-transition,也就是說,不存在ε為input symbol的邊
2. 對于move函數,move : (state, symbol) -> S,具體來說就是,一個狀態和一個特定的input symbol,不會映射到2個不同的狀態。這樣的結果是,每個狀態,關于每個特定的input symbol,只有一條出邊
下圖就是一個DFA:
接受語言(a|b)*ab,注意一下,接受語言(a|b)*ab的DFA我們前面見過,就是這張圖:
2. DFA的行為
我們用一個算法來模擬DFA的行為
s = s0; c = nextchar(); while(c != EOF){s = move(s,c);c = nextchar(); } if(s屬于F)return "yes" elsereturn "no"總結
以上是生活随笔為你收集整理的词法分析(3)---DFA的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如异界守塔的伪原创工具
- 下一篇: dabeicun 2013源码下载