java - 实现 DFA 的最佳方法有哪些?

标签 java finite-automata dfa automata

我知道DFA可以使用if-else方法和图方法来实现,但是还有其他方法来实现它们吗? 实际上我正在为正则表达式创建一个JavaCode Generator,到目前为止我已经完成了两种可能的方法(if-else 和图形方法),但我想提供更多可能的方法。我认为也许可以使用一些数据结构来实现,例如 Set 或 Map 来进行转换。

最佳答案

您还可以使用 JavaCC 或 Antlr 之类的解析器库来实现 DFA。 这些库有助于解析语言语法和构建 AST。

如果您可以将 DFA 状态建模为一组可接受的语法,则可以使用这些库。

关于java - 实现 DFA 的最佳方法有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10589562/

相关文章:

regex - 关于 Kleene 星的困惑

regex - 克林星的确定性有限自动机

java - 如何在 HBase 客户端应用程序中抑制 INFO 日志?

javascript - 执行脚本Webview JavaFx

automata - 设计接受可被 7 整除的十进制字符串的 DFA

java - 如何在java中绘制自动机

Java Mvc 和 Hibernate

java - 如何使用java根据Key值更新XML文件值

computer-science - 这种语言的 DFA

c++ - 存储 DFA 节点的数据结构