Un analizador léxico o analizador lexicográfico (en inglés "scanner") es la primera fase de un compilador consistente en un programa que recibe como entrada el código fuente de otro programa (secuencia de caracteres) y produce una salida compuesta de "tokens" (componentes léxicos) o símbolos.