Analisi lessicale

todo

Esegue la tokenizzazione del sorgente.

I token sono le unità linguistiche usate dal parser per l’analisi sintattica. A livello di sorgente, i token possono essere visti come identificatori, numeri, operatori e parole riservate (keywords: if, while, do, …).

for e in mylist:
	print(e)
	
# FOR ID IN ID COLON ID LPAR ID RPAR

Il programma che esegue l’analisi lessicale è detto lexer o scanner.

Token

Dall’esempio sopra, sembra che i token possano essere rappresentati mediante il solo nome, il che è vero per le keyword. Se si vogliono rappresentare identificatori, il solo nome basterebbe per la mera analisi sintattica, ma no per produrre codice eseguibile o per controlli semantici.

Scanner

Oltre a tokenizzare il sorgente, lo scanner:

  • riconosce e filtra commenti, spazi e altri white chars
  • registra la posizione di occorrenza dei token
  • procede all’espansione delle eventuali macro

Per eseguire la tokenizzazione si utilizzano le espressioni regolari.

arch1