Elder David Martínez Solórzano 4490-19-9399 Analizador Léxico o Lexicográfico Habitualmente el término ``análisis léxico'' se refiere al tratamiento de la entrada que produce como salida la lista de tokens. Un token hace alusión a las unidades más simples que tiene significado. Habitualmente un token o lexema queda descrito por una expresión regular. Léxico viene del griego lexis, que significa ``palabra'', una herramienta eficaz para encontrar en qué lugar de la cadena se produce un emparejamiento. Sin embargo, en el análisis léxico, el problema es encontrar la subcadena a partir de la última posición en la que se produjo un emparejamiento y que es aceptada por una de las expresiones regulares que definen los lexemas del lenguaje dado. Un analizador léxico es el componente encargado de identificar los tokens válidos en un código de entrada y emitir errores de ser necesario, crearemos un analizador léxico basado en expresiones regulares capaz de detectar números, cadenas, comentarios, operadores, identificadores y palabras reservadas. La estructura general del analizador léxico consiste en un bucle en el que se va recorriendo la entrada, buscando por un emparejamiento con uno de los patrones/lexemas especificados y, cuando se encuentra, se retorna esa información al analizador sintáctico. Como no tenemos escrito el analizador sintáctico simplemente iremos añadiendo los terminales al final de una lista. El analizador léxico deberá informar de cada token encontrado, en que línea y columna exactamente fue extraído el token, además del índice del token, el tipo y el lexema que lo representa, toda esta información la mostraremos en un ListView de WPF. Uso de Expresiones regulares Para construir el analizador léxico se utiliza la clase Regex que implementa el motor de expresiones regulares de .Net Framework, este nos permitirá buscar modelos de caracteres o patrones que representan nuestros tokens admitidos por el analizador léxico, regex creara el AFN (Autómata Finito No Determinista) correspondiente a la expresión regular que creemos.