我在纸上写了一个 DFA,想把它翻译成一组正则表达式。有人知道这样做的好工具吗?
Flavio
问问题
3330 次
2 回答
6
从我的小谷歌搜索中,我找到了 JFLAP。他们还有一个关于如何将 FA 转换为正则表达式的教程。
JFLAP
JFLAP 是用于试验形式语言主题的软件,包括非确定性有限自动机、非确定性下推自动机、多磁带图灵机、几种类型的语法、解析和 L 系统。除了为这些构建和测试示例之外,JFLAP 还允许人们尝试从一种形式到另一种形式的构造证明,例如将 NFA 转换为 DFA 到最小状态 DFA 到正则表达式或正则语法。单击此处了解有关 JFLAP 可以做什么的更多信息。
于 2009-01-13T01:41:34.453 回答
1
如果您想要的是解析器,则无需将正则表达式转换为中间形式。flex
您可以使用或相当直接地编写 DFA 代码re2c
。多个状态的编码并不常见,所以一开始感觉有点不自然(教程中没有很好地介绍),但是一旦你开始使用它,它真的很容易。
于 2009-01-13T02:12:59.320 回答