
 state 0:       // Text following a // is a comment
     goto 1 on .
     goto 5 on [0-9]

 state 1:
     goto 2 on [0-9]

 state 2:
     loop on [0-9]
     goto 3 on [eE]
     accept { printf("Saw a number\n"); }

 state 3:
     goto 4 on [0-9]
     goto 6 on -

 state 4:
     loop on [0-9]
     accept { printf("Saw a number\n"); }

 state 5:
     loop on [0-9]
     goto 3 on [Ee]
     goto 2 on (46)

 state 6:
     goto 4 on [0-9]

Listing 2. State-Machine Description File