Библиотека конечных автоматов, написанная на F#

Не могли бы вы порекомендовать библиотеку с открытым исходным кодом, написанную на F #, которая предоставляет общие типы для построения FA и основных алгоритмов (преобразование NFA в DFA, минимизация FA...)?


person gsv    schedule 19.08.2010    source источник
comment
Это то, что я тоже мог бы использовать. Если его не существует, я бы очень хотел, чтобы кто-нибудь написал его!   -  person TechNeilogy    schedule 19.08.2010


Ответы (3)


Моей первой мыслью было бы использовать монаду конечного автомата, которая была опубликована/написана/обсуждена/произведена несколько раз в блогах, пара ссылок ниже.

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

хотя это не дает вам желаемых переводов... Может быть, с этого стоит начать.

person Snark    schedule 21.09.2010

Вероятно, это не то, что вы ищете, но быстрый и грязный способ заставить некоторые вещи FA работать — написать эквивалентную контекстно-свободную грамматику для вашего FA, а затем использовать fsyacc?

person Jurgen    schedule 14.09.2010

Jolt.NET

Он не соответствует всем вашим требованиям: он написан на С# и, похоже, не поддерживает перевод в DFA или минимизацию. По крайней мере, его можно использовать из F# и использовать в качестве отправной точки. Я никогда не использовал его сам, поэтому я не могу ручаться за его пригодность или качество.

См. также реализация NFA/DFA в C#.

person Joh    schedule 10.04.2011