基于JAVA写一个关于编译原理中DFA的简单小demo

写一个基于JAVA的DFA入门小demo,主要用于识别某个字段中是否含有“ABC”,方便大家了解DFA的实际运用。

先放上一张DFA的大概草拟图。

基于JAVA写一个关于编译原理中DFA的简单小demo

主要有4个状态:0初态,1、2中间态,以及3终态。

我们通过java中的枚举来实现状态的划分。

因为代码量比较少,注释也比较充分,我们直接上代码:

基于JAVA写一个关于编译原理中DFA的简单小demo

基于JAVA写一个关于编译原理中DFA的简单小demo

最后我们输入一点内容进行测试一下:

基于JAVA写一个关于编译原理中DFA的简单小demo

有需要代码的可以在评论区留言一下,如果我的理解有误,也请大家批评指正。