用F#编写的有限自动机库

时间:2010-08-19 08:36:57

标签: f# dfa nfa

你能推荐一个用F#编写的开源库,它提供了FA构造和基本算法的通用类型(NFA到DFA转换,FA最小化......)?

3 个答案:

答案 0 :(得分:1)

我的第一个想法是使用状态机monad,已经多次博客/撰写/讨论/制作,下面有几个参考文献。

http://fsharpcode.blogspot.com/2008/12/f-state-monad-type-state-state-state-of.html
http://codebetter.com/blogs/matthew.podwysocki/archive/2009/12/30/much-ado-about-monads-state-edition.aspx

虽然这不能为您提供所需的翻译... 可能是一个开始的地方。

答案 1 :(得分:0)

可能不是你想要的东西,但快速而又肮脏的方式让FA工作起作用就是为你的FA编写一个等效的上下文无关语法然后使用fsyacc

答案 2 :(得分:0)

Jolt.NET

它不能满足您的所有要求:它在C#中,似乎不支持转换为DFA或最小化。至少它可以从F#中使用并且可以用作起点。我自己从未使用它,所以我不能保证它的适用性或质量。

另见NFA/DFA implementation in C#