Timeline
Chat
Prospettiva
Analisi lessicale
Da Wikipedia, l'enciclopedia libera
Remove ads
L'analisi lessicale è la conversione di un testo in una sequenza di token significativi (in senso semantico o sintattico) appartenenti a categorie definite da un programma apposito detto analizzatore lessicale o lexer. In caso di lingue naturali, queste categorie sono nomi, verbi o aggettivi, mentre in un linguaggio di programmazione sono identificatori, operatori, tipi di dato o simboli come parentesi.
La divisione in token lessicali è affine al tipo usato nei modelli linguistici grandi (LLM) ma con due differenze: mentre l'analisi lessicale si basa su una grammatica, l'analisi degli LLM è probabilistica. In più, quest'ultima effettua un secondo passaggio che converte i token in valori numerici.
Tipicamente l'analisi lessicale interviene nella parte di front end della compilazione e precede l'analisi sintattica.
Remove ads
Esempio
Ad esempio, dato in ingresso il seguente codice:
Programma Pippo intero i = 1; end Pippo
Il flusso di token prodotto sarà il seguente:
Da notare che alcuni token potrebbero fare a meno del valore (lessema) (ad esempio il simbolo equal), poiché già indicati dalla tipologia.
Lo strumento che si occupa dell'analisi lessicale è l'analizzatore lessicale, a volte chiamato scanner o lexer.
Remove ads
Bibliografia
- Compilers: Principles, Techniques, and Tools. Aho, Lam, Sethi, Ullman. Addison-Wesley, (2nd Edition) 2006. ISBN 0-321-48681-1
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads