Descriere Algoritm - ThisNameWasTaken/LFA GitHub Wiki
Constructorul clasei Automat primeste o stare initiala, o un vector de stari finale si un obiect, de tip JSON, care prezinta tranzitiile de la o stare la alta printr-un anumit pas.
O tranzitie este de forma "stare_de_baza
" : { "pas
" : ["stare_1
", "stare_2
", ... ] }.
Algoritmul cauta un "drum" catre o stare finala folosind un algoritm recursiv. Incepe de la starea initiala si, urmarind pasii, trece la urmatoarea stare folosindu-se de obiectul tranzitii
. In momentul in care se ajunge intr-o stare finala algoritmul se opreste. Daca s-a trecut prin toate starile, prin care poate ajunge de la starea initiala, si nu s-a ajuns intr-o stare finala atunci cuvantul dat nu apartine limbajlului cunoscut de automat.