Você está na página 1de 6

UNIVERSIDAD AUTONOMA DEL ESTADO DE MEXICO UAEM TEXCOCO

Prof.: Jair Vzquez Palma

Asignatura: COMPILADORES

Alumno: Bautista Antonio Carlos Alberto

ICO

06

02

Anlisis Lxico El Anlisis Lxico : Lee los caracteres de cdigo fuente o programa fuente de izquierda a derecha y formndolos en unidades lgicas para que lo aborden las partes siguientes del compilador (generalmente el analizador Sintctico) las unidades lgicas que genera el analizador lxico se denominan Tokens. El anlisis lxico constituye la primera fase, aqu se lee el programa fuente de izquierda a derecha y se agrupa en componentes lxicos (tokens), que son secuencias de caracteres que tienen un significado. Adems, todos los espacios en blanco, lneas en blanco, comentarios y dems informacin innecesaria se elimina del programa fuente. Tambin se comprueba que los smbolos del lenguaje (palabras clave, operadores,...) se han escrito correctamente. Los analizadores lxicos (el AFD) se pueden implementar a mano para reconocer los componentes lxicos de un determinado lenguaje. Este opcin tiene sentido slo cuando el aprender a utilizar una determinada herramienta nos llevara mas tiempo que el hacerlo nosotros a mano. La tarea que realiza el analizador lxico es un caso especial de coincidencia de patrones, se necesitan los mtodos de especificacin y reconocimiento de patrones, se usan principalmente los autmatas finitos que acepten expresiones regulares El analizador lxico tambin es la parte del traductor que maneja la entrada del cdigo fuente, y puesto que esta entrada a menudo involucra un importante gasto de tiempo, el analizador lxico debe funcionar de manera tan eficiente como sea posible. Se encarga de buscar los componentes lxicos o palabras que componen el programa fuente, segn unas reglas o patrones. La entrada del analizador lxico podemos definirla como una secuencia de caracteres. LAS FUNCIONES DEL ANALISIS LEXICO: Su principal funcin consiste en leer los caracteres de entrada y elaborar como salida una secuencia de componentes lxicos que utiliza el analizador sintctico para hacer el anlisis. Esta interaccin, suele aplicarse convirtiendo al analizador lxico en una subrutina o corrutina del analizador sintctico. Recibida la orden Dame el siguiente componente lxico del analizador sintctico, el analizador lxico lee los caracteres de entrada hasta que pueda identificar el siguiente componente lxico.

Convierte el programa fuente en una cadena de tokens. Para reconocer el token usa un patrn, una regla que describe como se forman las cadenas que corresponden a un token. -Salta comentarios y espacios en blanco (tabuladores, saltos de linea...) -Tener el registro de la lnea del archivo fuente que esta siendo analizada -Genera mensajes de error lexico y se recupera del error -Convierte los valores literales al tipo que corresponda. -Si la entrada debe obedecer a un formato, verifica el formato Ej. Fortran, Cobol. -Eliminar comentarios, delimitadores (espacios, simbolos de puntacion, fin de linea) -Relacionar los mensajes de error con las lineas del programa fuente. -Introducir los identificadores en la tabla de simbolos.

TOKEN Los tokens son las palabras de un lenguaje natural: cada tokens es una secuencia de caracteres que representa una unidad de informacin en el programa fuente. -Elemento basico del lenguaje -Unidad lexica indivisible -Identifica una entidad logica dentro del lenguaje -Incluyen: Palabras Reservadas, Constantes, Operadores, Signos de Puntuacion e Identificadores. LOS ATRIBUTOS DEL TOKEN Los atributos es cualquier valor asociado a un Token. -El analizador recopila informacion sobre los tokens a medida que los reconoce -Cuando la cadena de entrada permite reconocer mas de un token, esta informacion puede ayudar a desambiguar.

COMPONENTES LEXICOS, PATRONES, LEXEMAS Patrn: es una regla que genera la secuencia de caracteres que puede representar a un determinado componente lxico (una expresin regular). Lexema: cadena de caracteres que concuerda con un patrn que describe un componente lxico. Un componente lxico puede tener uno o infinitos lexemas. Por ejemplo: palabras reservadas tienen un nico lexema. Los nmeros y los identificadores tienen infinitos lexemas. Los componentes lxicos se suelen definir como un tipo enumerado. Se codifican como enteros. Tambin se suele almacenar la cadena de caracteres que se acaba de reconocer (el lexema), que se usara posteriormente para el anlisis semntica.

typedef enum{ TKN IF, TKN THEN, TKN NUM, TKN ID, TKN OPADD,...} TokenType;

Es importante conocer el lexema (para construir la tabla de smbolos). Los componentes lxicos se representan mediante una estructura de registro con tipo de token y lexema:
typedef struct { TokenType token; char *lexema; //se reserva memoria din amicamente } TokenRecord; TokenRecord getToken(void);

CONCLUSION Mi conclusin es que el analizador lxico tiene que dividir la secuencia de caracteres en palabras con significado propio y despus convertirlo a una secuencia de terminales desde el punto de vista y que reconoce las palabras en funcin de una gramtica regular de manera que sus NO TERMINALES se convierten en los elementos de entrada y un tokens es una secuencia de caracteres que representa una unidad de informacin en el programa

Bibliografia AHO, SETHI, ULLMAN: Compiladores: Principios, tcnicas y herramientas,: AddisonWesley Iberoamericana, 1990 A. Garrido, J. Iesta, F. Moreno y J. Prez. 2002. Diseo de compiladores. Universidad de Alicante.

Você também pode gostar