Προσομοιωτής Πεπερασμένης Κατάστασης (FSM)
Προσομοιώστε ντετερμινιστικό πεπερασμένο αυτόματο με κανόνες, αρχική κατάσταση και είσοδο. Δείτε διαδρομή και τελική κατάσταση.
Έναρξη χρήσης
Χαρακτηριστικά και δυνατότητες
Το εργαλείο αυτό προσομοιώνει έναν ντετερμινιστικό πεπερασμένο αυτόματο (DFA) χωρίς καταστάσεις αποδοχής. Κάθε κανόνας πρέπει να περιέχει ακριβώς τρία πεδία διαχωρισμένα με κόμμα: τρέχουσα κατάσταση, χαρακτήρας εισόδου και επόμενη κατάσταση. Ο αριθμός κανόνων πρέπει να είναι από 1 έως 200. Τα ονόματα καταστάσεων δεν πρέπει να είναι κενά και το μήκος τους δεν μπορεί να υπερβαίνει τους 50 μονάδες κώδικα UTF-16. Κάθε σύμβολο εισόδου πρέπει να είναι ακριβώς ένα σημείο κώδικα Unicode.
Παράδειγμα εργασίας
Έστω οι κανόνες:
q0,0,q0 q0,1,q1 q1,0,q0 q1,1,q1
με αρχική κατάσταση q0 και είσοδο 1011. Η προσομοίωση θα δώσει τη διαδρομή q0 -> q1 -> q0 -> q1 -> q1 και τελική κατάσταση q1.
Περιορισμοί
- Δεν υποστηρίζονται έψιλον μεταβάσεις, μη ντετερμινισμός, καταστάσεις αποδοχής ή μετατροπή σε κανονική έκφραση.
- Η συμβολοσειρά εισόδου περιορίζεται σε 10000 μονάδες κώδικα UTF-16.
- Αν λείπει μετάβαση για κάποιο ζεύγος κατάστασης-χαρακτήρα, η προσομοίωση σταματά με σφάλμα σε εκείνο το σημείο.
- Τα κόμματα είναι δομικά και δεν μπορούν να εμφανίζονται μέσα σε ονόματα καταστάσεων ή σύμβολα.
Συχνές ερωτήσεις
Τι συμβαίνει αν εισάγω δύο κανόνες με το ίδιο ζεύγος κατάστασης και συμβόλου;
Το εργαλείο απορρίπτει διπλότυπους κανόνες και εμφανίζει σφάλμα, αντί να αντικαταστήσει σιωπηλά τον προηγούμενο κανόνα.
Μπορώ να χρησιμοποιήσω σύμβολα πολλών σημείων κώδικα;
Όχι, κάθε σύμβολο εισόδου πρέπει να είναι ακριβώς ένα σημείο κώδικα Unicode. Ο χαρακτήρας 😀 (U+1F600) επιτρέπεται: είναι ένα σημείο κώδικα και δύο μονάδες UTF-16. Εισαγάγετε τον πραγματικό χαρακτήρα, όχι το κείμενο U+1F600.
Γιατί η έξοδος είναι πολύ μεγάλη για μεγάλη είσοδο;
Η έξοδος περιλαμβάνει ολόκληρη τη διαδρομή των καταστάσεων. Για μεγάλες εισόδους, η διαδρομή μπορεί να είναι μακρά. Συνιστάται να δοκιμάσετε πρώτα μικρή είσοδο και να συγκρίνετε κάθε μετάβαση με τον πίνακα κανόνων.
Λίστα ελέγχου
- Βεβαιωθείτε ότι κάθε κανόνας έχει ακριβώς δύο κόμματα.
- Ελέγξτε ότι τα ονόματα καταστάσεων δεν περιέχουν κόμματα.
- Επιβεβαιώστε ότι η αρχική κατάσταση υπάρχει στους κανόνες.
- Χρησιμοποιήστε μόνο χαρακτήρες ενός σημείου κώδικα για σύμβολα εισόδου.
- Ελέγξτε ότι δεν υπάρχουν διπλότυπα ζεύγη κατάστασης-συμβόλου.
Ονόματα καταστάσεων και αρχική κατάσταση: έως 50 μονάδες κώδικα UTF-16· είσοδος: έως 10000. Τα κενά στα άκρα των πεδίων κανόνων αφαιρούνται, άρα ένα σύμβολο μόνο από κενό δεν επιτρέπεται. Αντιγράψτε ακριβώς την αρχική κατάσταση, με ίδια πεζά/κεφαλαία και χωρίς περιφερειακά κενά. Κενή είσοδος διατηρεί την αρχική κατάσταση. Η ελλιπής μετάβαση δίνει γενικό σφάλμα, χωρίς θέση ή μερική διαδρομή.
Η επεξεργασία γίνεται τοπικά στο πρόγραμμα περιήγησής σας.