Sto facendo un sacco di analisi del codice usando lexer e la macchina a stati finiti. Per ora sto usando la tabella per descrivere FSM:
| token | current state | target state |
+-------+---------------+--------------+
| . | start | dot |
| trace | dot | method |
| ( | method | detected |
Utilizzando questa tabella e lo stato implicito start
, viene creato FSM:
Lexervieneutilizzatopergenerareunflussoditokenetokenutilizzaticometriggerperlatransizionedistato.Nelcasoincuilatransizionedallostatocorrentesiaimpossibile-FSMèimpostatosustart
stato.
L'usodellatabellaperdescriverel'FSMvabeneperunnumerodistatiabbastanzapiccolo,masicomplicaabbastanzarapidamente.LaricercadiGooglehasuggeritopochirisultatiinteressanti:
Plugin MOP FSM di Formal Systems Laboratory.
Quindi la domanda è un linguaggio standard o di fatto per descrivere le macchine a stati finiti?