Skip to main content

¿Qué es el análisis léxico?

El análisis léxico es el proceso de tomar una cadena de caracteres, o, más simplemente, texto, y convertirla en grupos significativos llamados tokens. Esta metodología tiene usos en una amplia variedad de aplicaciones, desde la interpretación de lenguajes informáticos hasta el análisis de libros. El análisis léxico no es sinónimo de análisis; más bien, es el primer paso del proceso de análisis total y crea materia prima para su uso posterior.

Los bloques de construcción de tokens, también llamados lexemas, se pueden generar de muchas maneras, dependiendo de la gramática requerida para el análisis léxico. Un ejemplo común de esto es dividir oraciones por palabras; esto se hace frecuentemente dividiendo oraciones alrededor de espacios. Cada cadena continua de caracteres generados sin espacios es un lexema. Las cadenas de texto se pueden dividir en uno o varios tipos de caracteres, creando múltiples versiones de lexemas con diversa complejidad. Los tokens se generan después de que cada lexema ha sido evaluado y emparejado con su valor correspondiente; Por definición, los tokens se refieren a este emparejamiento, no solo al lexema.

El análisis léxico, de forma algo contraintuitiva, elimina una cadena de texto de su contexto. Su propósito es solo generar bloques de construcción para su posterior estudio, no para determinar si esas piezas son válidas o inválidas. En el caso de la interpretación del lenguaje de computadora, la validación se realiza mediante análisis de sintaxis, y la validación del texto se puede hacer en términos de contexto o contenido. Si una cadena de entrada está completamente dividida en lexemas apropiados y cada uno de esos lexemas tiene un valor apropiado, el análisis se considera exitoso.

Sin contexto o la capacidad de realizar la validación, el análisis léxico no se puede usar de manera confiable para encontrar errores en la entrada. Una gramática léxica puede tener valores de error asignados a lexemas específicos, y dicho análisis también puede detectar tokens ilegales o malformados. Aunque encontrar un token ilegal o malformado indica una entrada no válida, no tiene relación con si los otros tokens son válidos, por lo que no es estrictamente un tipo de validación.

Aunque el análisis léxico es una parte integral de muchos algoritmos, a menudo debe usarse junto con otras metodologías para crear resultados significativos. Por ejemplo, dividir una cadena de texto en palabras para determinar las frecuencias hace uso de la creación de lexemas, pero la creación de lexemas por sí sola no puede monitorear la cantidad de veces que aparece un lexema en particular en la entrada. El análisis léxico puede ser útil por sí solo si los propios lexemas son notables, pero grandes cantidades de entrada pueden dificultar el análisis de los lexemas sin procesar debido al volumen de datos.