Subido por ELDER DAVID MARTINEZ SOLORZANO

ANALIZADOR LEXICOGRÁFICO

Anuncio
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.
Descargar