Home / Calcolatori / Simulatore di macchina a stati finiti (FSM) online
Strumenti online gratuiti

Simulatore di macchina a stati finiti (FSM) online

Simula una macchina a stati finiti deterministica: inserisci regole, stato iniziale e input per vedere il percorso degli stati e lo stato finale. L’elaborazi…

Inizia a usare

Funzionalità e limiti del simulatore

Questo strumento simula esclusivamente una macchina a stati finiti deterministica. Non supporta stati di accettazione, transizioni epsilon, rami non deterministici, conversione da espressioni regolari, minimizzazione o diagrammi. La simulazione si basa solo sulle transizioni fornite e non decide l'accettazione di una stringa.

Esempio concreto

Considera le regole:

q0,0,q0
q0,1,q1
q1,0,q0
q1,1,q1

Con stato iniziale q0 e input 1011, il percorso risultante è:

q0 -> q1 -> q0 -> q1 -> q1

Lo stato finale è q1.

Vincoli e gestione degli errori

Ogni coppia stato-simbolo può avere una sola transizione; se si inseriscono regole duplicate, il sistema le rifiuta invece di sovrascriverle silenziosamente. Le virgole sono separatori strutturali e non possono essere incorporate nei nomi degli stati o nei simboli. La simulazione avviene interamente nel browser.

Domande frequenti

Come gestisce il simulatore una transizione mancante?

Se durante l'elaborazione della stringa si incontra una coppia stato-simbolo per cui non esiste una regola, la simulazione si ferma e viene segnalato un errore in corrispondenza di quel carattere. Non viene prodotto uno stato finale.

Posso usare simboli di input che non siano caratteri ASCII?

Sì, ogni simbolo di ingresso deve essere un singolo punto di codice Unicode. Ad esempio, puoi usare lettere accentate o simboli come . Tuttavia, le virgole non sono ammesse come simboli perché sono separatori.

Qual è il numero massimo di regole e la lunghezza massima della stringa?

Il numero di regole deve essere compreso tra 1 e 200. La stringa di input è limitata a 10000 unità di codice UTF-16. Per input molto lunghi, il percorso può diventare lungo; si consiglia di testare prima sequenze brevi e confrontare ogni transizione con la tabella delle regole.

Lista di controllo

  • Verifica che ogni riga di regola contenga esattamente tre campi separati da virgole.
  • Controlla che i nomi degli stati non siano vuoti e non superino 50 caratteri.
  • Assicurati che ogni simbolo di ingresso sia un singolo punto di codice Unicode.
  • Specifica uno stato iniziale valido.
  • Evita regole duplicate per la stessa coppia stato-simbolo.
  • Per input lunghi, testa prima con sequenze brevi.

L’elaborazione avviene localmente nel browser.