dfa

    0热度

    1回答

    有人可以帮我这个问题? 描述,一个NFA转换成DFA其语言是L(A)的补体的算法。应该对A的字母表进行补充。给出关于你的建筑工作原因的非正式论点。您无需提供正式的证明。 任何一种指导的理解......

    3热度

    2回答

    我有一个程序,只是需要所有状态为一组状态作为输入。 然后就是采取的下一个输入是所述一组状态中的初始状态,然后设置最终的状态。 接下来是一组过渡的,我走在状态之中。 例如:q0,1,q1 这意味着上输入的一个有从Q0到Q1的过渡。 每个国家都进入了过渡。 但在这里我所面对的是refrences可以以随机方式 是过渡可以是不重复的字符转换的n个,因此这个原因我想保持一个HashMap对象jumpled

    0热度

    2回答

    我想编写一个将nfa转换为dfa的程序, 用户绘制图形,然后程序将其转换为dfa。 我该怎么做?

    9热度

    2回答

    我有一个远程“代理”,在传递字符串时返回“yes”或“no”。与这个经纪人沟通是昂贵的,所以我希望找到一个图书馆,让我可以反复建立一个正反馈的正则表达式,同时对它的构建很有智慧。这将允许我在发送端缓存答案。 例如,假设我们查询代理“好”,并收到“是”。最初派生的正则表达式应该是“好的”。 假设我用“goop”查询然后收到“yes”。我希望派生的正则表达式是“goo [dp]”,而不是“good |

    12热度

    5回答

    我想知道如何找到一组所有匹配给一个给定的正则表达式与有限数量的匹配。 例如: 所有这些例子中,你可以假设他们开始^与$ `hello?` -> (hell, hello) `[1-9][0-9]{0,3}` -> (1,2,3 ..., 9998, 9999) `My (cat|dog) is awesome!` -> (My cat is awesome!, My dog is awesom

    2热度

    2回答

    我正在尝试实现Brzozowski的算法以最小化我的DFA 以下是相同的算法。 DFA = d(r(d(r(NFA)))) 其中r()是NFA和D()的反转转换NFA到DFA。 但我不明白r()在google上搜索的含义也没有提供太多的信息。 有谁能解释一下NFA的r()是什么。 任何其他简单的算法或C++实现可用请让我知道链接。

    3热度

    1回答

    是否有工具可接受正则表达式列表并生成最小DFA图片,以识别这些正则表达式,并将每个正则表达式都识别为其相应的最终状态? 它应该看起来像这样:http://i.imgur.com/Vxw9X.jpg 该图片取自斯坦福大学编译器课程,可能由老师自己编写。 该FA处理Pascal令牌的子集,编号/字母状态是最终状态。 我不需要DFA的实际代码,只需看看它的外观。 如果没有这样的工具,我该如何去制作这种图

    0热度

    2回答

    通常,DFA用于检查给定的字符串是否以某种语言存在。 例如_ab1c存在于C中的变量语言中。 我在做什么? 但正如this question说,我使用的DFA跟踪所有注释,字符串等 如何我做的? 考虑在给定的字符串/程序中跟踪//注释的示例。 static int makeTransition[][] = { /* Transition Table */ /*{ot

    2热度

    3回答

    DFA和NFA的相对亲和亲分别是什么? 我知道,DFA的相比,是容易NFA的和NFA的是慢比DFA的的接受状态到达,但还有没有其他明确的,众所周知的优点/缺点实现?

    1热度

    1回答

    我拥有无限序列的字符串和按优先级排序的众多正则表达式。对于序列中的每个字符串,我必须找到第一个匹配的正则表达式和匹配的子字符串。字符串不是很长(< 1Kb),而正则表达式的数量可能从数百到数千不等。 我正在寻找一种可以高效完成这项工作的Java工具。我猜这个技术应该是在提前构建DFA。 我目前的选择是JFLEX。我在JFLEX中无法解决的问题是它的规则没有优先级,JFLEX查找匹配文本最长部分的规