Alcune note
L'analizzatore, nel caso di token di tipo differente, estrae i token anche se non vi sono separatori tra essi (ad es.: while(a+b>c) corrisponde a 8 token). Per fare questo, l'insieme dei separatori è costituito dai soli layout-char (1-32, 127-159, 160), ma per stabilire la fine di un token ci si basa non solo sul raggiungimento del prossimo layout-char, ma anche sul carattere attualmente letto in relazione al tipo del token corrente. Come tipi di token abbiamo:
two_symbol_char_token('||').
two_symbol_char_token('&&').
two_symbol_char_token('=>').
Il limite principale di questo
analizzatore è la possibilità di gestire solo token composti
interamente
da caratteri appartenenti ad una delle sopracitate categorie: incontrare
un carattere di "tipo" diverso comporta, per l'analizzatore, la fine del
token precedente e l'inizio di uno nuovo (ad. es: un nome di procedura
"make-stack" verrebbe riconosciuto come 3 token, non come uno solo.).
D'altra parte l'analizzatore
risulta assai semplice, e può essere facilmente modificabile. Inoltre
è totalmente indipendente sia dal linguaggio oggetto d'analisi,
sia dal compilatore/interprete.