有穷自动机(Finite Automate)及其分类和转化

有穷自动机(Finite Automate)及其分类和转化

自我理解

有穷自动机在我目前浅薄的知识看来就是在词法分析阶段对程序中所有出现的单词进行逐一判断和分类,如果一个单词能被某个有穷自动机接收的话,那么它就是某一类单词,如果所有有穷自动机都不能接收它的话,它就不符合语法

有穷自动机分类

虽说有穷自动机有分类,但是他们其实是可以相互转换的.

  • 确定的有穷自动机(Deterministic finite automate,DFA)
  • 不确定的有穷自动机(Nondeterministic finite automate,NFA))
    • 不带空边的NFA
    • 带空边的NFA

确定的有穷自动机DFA

在这里插入图片描述

不带空边的NFA

在这里插入图片描述

带空边的NFA

在这里插入图片描述

有穷自动机的转换

DFA和不带空边的NFA之间的转换

在这里插入图片描述

不带空边的NFA和带空边的NFA之间的转换

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44823898/article/details/108196576