Có ai biết về bất kỳ triển khai NFA và DFA nào tốt trong C#, có thể triển khai cũng như chuyển đổi giữa cả hai? Những gì tôi muốn là có thể xây dựng một NFA và sau đó chuyển đổi nó tự động thành một DFA, nhưng mà không cần phải viết mã của riêng tôi mà sẽ mất một thời gian rất dài. Có this mã Python mà có lẽ tôi có thể sử dụng và tích hợp với C# bằng cách sử dụng IronPython, nhưng Python chậm.Thực hiện NFA/DFA trong C#
Trả lời
Hãy nhìn vào hàng loạt của tôi về bài viết về chủ đề này:
Regular Expression Engine in C# (the Story)
Tôi muốn sử dụng mã của bạn nhưng không có giấy phép được liệt kê. Nếu bạn đồng ý với những người sử dụng nó, bạn có phân phối phiên bản có giấy phép rõ ràng không? –
@FireLizzard bạn có thể sử dụng nó theo cách bạn muốn. Trong blog của tôi, tôi đã bao gồm huy hiệu Creative Commons ngay bên dưới tiểu sử trên G + của mình. :) Hãy sử dụng mã. –
Nhìn vào mã python, cần tương đối dễ chuyển đổi sang C#. Bạn đã xem xét việc đó chưa? –
Câu hỏi đặt ra là tôi không hiểu gì về Python ... – Miguel
Chậm là tương đối ... dù sao, thuật toán NFA-> DFA khá tầm thường (với một số vấn đề chung nói chung) và là chủ đề của nhiều Lý thuyết Tự động CS Junior các khóa học - Tôi phải làm điều này :) Có bất kỳ liên kết tốt nào trong số "chuyển đổi NFA thành DFA" trên google. Nhìn vào những người liên quan đến các khóa học nói riêng. Nó phải ít hơn một ngày mã hóa; có lẽ chỉ một vài giờ hoặc hai và có thể ít đau đớn hơn là cố gắng nhảy lò cò qua các ngôn ngữ khác nhau. –