Automa che riconosce identificatori, numeri interi, decimali e reali

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. Un numero reale è un intero o un decimale seguito dalla lettera E e da un numero intero. I numeri possono avere un segno.

Si utilizza un intero LETT_E per denotare la lettera E, metre LETTERA ora denota tutte le lettere ad eccezione della E.

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
R numero reale

Implementazione in C dell'automa.