Online simulator voor eindige toestandsmachines (FSM)
Simuleer een deterministische eindige toestandsmachine met overgangsregels en invoerreeks. Bekijk het pad en de eindtoestand. Probeer nu!
Aan de slag
Gedetailleerde uitleg en voorbeeld
Deze regels houden bij of het laatste gelezen binaire teken '1' is; de tool bepaalt geen acceptatie. 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 UTF-16-code-eenheden.
- 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?
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.
Toestandsnamen en begintoestand: maximaal 50 UTF-16-code-eenheden; invoer: 10000. Witruimte aan de randen van regelvelden wordt verwijderd; een witruimteteken kan dus geen symbool zijn. Neem de begintoestand exact over, met dezelfde hoofdletters en zonder randspaties. Lege invoer houdt de begintoestand. Een ontbrekende overgang geeft alleen een algemene fout, geen positie of gedeeltelijk pad.
De verwerking gebeurt lokaal in je browser.