【问题标题】:DFA -> regular expressionDFA -> 正则表达式
【发布时间】:2009-01-13 01:35:05
【问题描述】:

我在纸上写了一个 DFA,想把它翻译成一组正则表达式。有人知道这样做的好工具吗?

【问题讨论】:

  • 你能否提供更多关于你想要达到的目标的细节
  • 我正在尝试为以给定命令(如“/dothis”)开头的句子编写解析器,然后根据命令在其后添加一些参数。我已经写出了包含所有状态的 DFA,但我正在寻找一种可以用来转换为 REGEXP 的工具。

标签: regex state-machine


【解决方案1】:

从我的小谷歌搜索中,我找到了JFLAP。他们还有一个关于how to Convert FA to regular expression的教程。

JFLAP

JFLAP 是用于实验的软件 正式语言主题包括 非确定性有限自动机, 非确定性下推自动机, 多带图灵机,几个 语法类型、解析和 L-系统。除了建设 和这些的测试示例,JFLAP 允许一个人尝试 施工证明从一种形式到 另一个,例如将 NFA 转换为 一个 DFA 到一个最小状态 DFA 到一个 正则表达式或正则语法。 点击这里了解更多信息 使用 JFLAP 可以做什么。

【讨论】:

    【解决方案2】:

    如果您想要的是解析器,则无需将正则表达式转换为中间形式。您可以使用flexre2c 相当直接地编写DFA。多个状态的编码并不常见,所以一开始感觉有点不自然(教程中没有很好地介绍),但是一旦你开始使用它,它真的很容易。

    【讨论】:

      猜你喜欢
      • 2015-12-21
      • 2017-02-09
      • 2018-04-16
      • 1970-01-01
      • 2015-07-15
      • 2019-05-05
      • 1970-01-01
      • 1970-01-01
      • 2017-10-04
      相关资源
      最近更新 更多