Online simulator voor eindige toestandsmachines (FSM)
Simuleer een deterministische eindige toestandsmachine met overgangsregels en invoerreeks. Bekijk het pad en de eindtoestand. Probeer nu. De verwerking gebeu…
Aan de slag
Gedetailleerde uitleg en voorbeeld
Stel dat u een FSM wilt simuleren die een binaire reeks herkent die eindigt op '1'. U kunt de volgende regels gebruiken:
q0,0,q0 q0,1,q1 q1,0,q0 q1,1,q1
Met begintoestand q0 en invoerreeks 1011 wordt het pad: q0 -> q1 -> q0 -> q1 -> q1. De eindtoestand is q1.
Belangrijke parameters en beperkingen
- Aantal regels: tussen 1 en 200.
- Toestandsnamen: niet leeg, maximaal 50 tekens.
- Invoersymbool: precies één Unicode-codepunt (bijv. een teken).
- Geen accepterende toestanden: de tool beslist niet of een invoer wordt geaccepteerd; het toont alleen het pad en de eindtoestand.
- Geen epsilon-overgangen, nondeterminisme, reguliere expressies of minimalisatie.
Veelgestelde vragen
Wat gebeurt er als ik een overgang mis?
Als er voor een huidige toestand en invoerteken geen overgang is gedefinieerd, stopt de simulatie met een foutmelding op dat teken. Het pad tot dan toe wordt niet getoond.
Kan ik spaties of komma's in toestandsnamen gebruiken?
Nee, komma's zijn structureel en kunnen niet in toestandsnamen of symbolen worden gebruikt. Spaties zijn toegestaan in toestandsnamen, maar wees voorzichtig: ze worden als onderdeel van de naam beschouwd.
Hoe wordt de invoerreeks verwerkt?
De invoerreeks wordt teken voor teken verwerkt, waarbij elk teken een Unicode-codepunt is. De simulator gebruikt de overgangstabel om van de ene toestand naar de volgende te gaan. De maximale lengte van de invoerreeks is 10000 UTF-16 code-eenheden.
Controlelijst voor correct gebruik
- Controleer dat elke regel precies drie velden bevat, gescheiden door komma's.
- Zorg dat er geen dubbele overgangen zijn voor hetzelfde toestand-tekenpaar.
- Geef een geldige begintoestand op die in de regels voorkomt.
- Test eerst met een korte invoerreeks om de werking te controleren.
- Vergeet niet dat de tool geen acceptatie bepaalt; het toont alleen het pad.
De verwerking gebeurt lokaal in je browser.