我知道DFA可以使用if-else方法和图方法来实现,但是还有其他方法来实现它们吗? 实际上我正在为正则表达式创建一个JavaCode Generator,到目前为止我已经完成了两种可能的方法(if-else 和图形方法),但我想提供更多可能的方法。我认为也许可以使用一些数据结构来实现,例如 Set 或 Map 来进行转换。
最佳答案
您还可以使用 JavaCC 或 Antlr 之类的解析器库来实现 DFA。 这些库有助于解析语言语法和构建 AST。
如果您可以将 DFA 状态建模为一组可接受的语法,则可以使用这些库。
关于java - 实现 DFA 的最佳方法有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10589562/