تصميم مولد آلة الحالة البسيطة
-
27-09-2019 - |
سؤال
أعلم أن تصميم مولدات آلة الحالة للتعبيرات العادية ليس تافهاً ، ولكن ماذا عن الأوتار البسيطة (عندما أقول سلسلة بسيطة ، أعني شيئًا مثل "ABCD" - شيء بدون أي بناء جملة تعبير منتظم). كنت أفكر في كتابة مطابقة سلسلة بسيطة باستخدام آلات الحالة ، لكنني أردت إنشاء آلة الحالة في وقت التشغيل
الإدخال إلى مولد جهاز الحالة هو السلسلة المراد مطابقتها ، والإخراج هو جهاز الحالة. أنا لا أبحث عن رمز ، ولكن طريقة/خوارزمية للقيام بذلك.
نعم ، يمكنني استخدام أي من المكتبات المتاحة بسهولة ، ولكن لا شكرا.
المحلول
إذا كنت تريد مطابقة بسيطة حقًا ، فأنت لا تحتاج حتى إلى إنشاء آلة الحالة. يمكنك فقط السير عبر النمط وأنت تسير عبر السلسلة. إليكم مثالًا رائعًا حقًا من الكتاب بعنوان "الكود الجميل":
http://www.cs.princeton.edu/courses/archive/spr09/cos333/beautiful.html