Linguaggio per descrivere la macchina a stati finiti

3

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èimpostatosustartstato.

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?

    
posta aisbaa 26.08.2016 - 11:44
fonte

2 risposte

3

Poiché le macchine a stati finiti sono fondamentalmente un sottoinsieme di grafici (etichettati) diretti, che dire qualcosa come DOT . È stata solo la prima cosa che è comparsa su un "linguaggio grafico diretto" di Google. Non l'ho mai usato.

    
risposta data 26.08.2016 - 18:33
fonte
2

La maggior parte di ciò che è stato standardizzato va oltre le semplici macchine a stati finiti.

Se ti piace XML, c'è State Chart XML e UML's XMI per i diagrammi di stato UML, che sono entrambi un superset della macchina a stati finiti.

C'è anche il flusso di stato di Matlab, ma non sono sicuro che ci sia un linguaggio basato sul testo o un formato proprietario.

Trawling i miei collegamenti da alcuni anni indietro, il linguaggio macchina di stato astratto di Microsoft ha un'implementazione XASM (I ' ve non usato) e un "SML-un linguaggio di alto livello per la progettazione e la verifica di macchine a stati finiti '. Se vuoi qualcosa di più della lingua del dominio all'interno di un linguaggio di programmazione, c'è questa domanda Esiste un linguaggio di programmazione con costrutto di macchine di stato integrato?

    
risposta data 26.08.2016 - 18:26
fonte

Leggi altre domande sui tag