Automa che riconosce identificatori e numeri interi e decimali

Un identificatore è costituito da una lettera seguita da altre lettere o cifre. Un numero intero è una sequenza di cifre. Un numero decimale è costituito da una sequenza di cifre seguite da un punto, seguito da un'altra sequenza di cifre.

Nota: sono numeri sia il punto seguito da una sequenza di cifre (es .123), sia la sequenza di cifre seguita da un punto (es 164.), mentre non lo è la stringa costituita solo da un punto.

Stati finali:
X identificatore
N numero intero
D numero decimale

Implementazione in C dell'automa.