Está en la página 1de 3

UNIDAD V

ITCDJ

5.2 COMPONENTES LXICOS, PATRONES Y LEXEMAS


En la fase de anlisis, los trminos componentes lxicos (token), patrn y lexema se emplean con significados especficos. Un analizador lxico, inicialmente lee los lexemas y le asigna un significado propio. Componente lxico es la secuencia lgica y coherente de caracteres relativo a una categora: identificador, palabra reservada, literales (cadena/numrica), operador o carcter de puntuacin, adems de que un componente lxico puede tener uno o varios lexemas. Patrn es una regla que genera la secuencia de caracteres que puede representar a un determinado componente lxico (expresin regular). Lexema es una cadena de caracteres que concuerda con un patrn que describe un componente lxico (valor de cadena). Ejemplo de una cadena de cdigo: const pi = 3.1416;

El analizador lxico recoge informacin sobre los componentes lxicos en sus atributos asociados. Los tokens influyen en las decisiones del anlisis sintctico, y los atributos, en la traduccin de los tokens. En la prctica los componentes lxicos suelen tener solo un atributo. Para efectos de diagnostico, puede considerarse tanto el lexema para un identificador como el numero de lnea en el que se encontr por primera vez. Esta informacin puede ser almacenada en la tabla de smbolos para el identificador (estructura de datos).

LENGUAJES Y AUTOMATAS I

UNIDAD V

ITCDJ

Para la cadena E=M*C**2 de ejemplo, los componentes lxicos y los valores de atributo asociado son: <identificador, atributo para el smbolo E> <op_asignacion> <identificador, atributo para el smbolo M> <op_multiplica> <identificador, apuntador al smbolo C> <op_exponente> <nmero, atributo valor 2> Tome en cuenta que ciertas parejas no necesitan un valor de atributo. Los atributos relacionados con ese token debern ser conservados y transferidos a alguna estructura de datos para que sean empleados en las siguientes etapas del anlisis

LENGUAJES Y AUTOMATAS I

UNIDAD V Patrn: es una expresin regular.

ITCDJ

Token: es la categora lxica asociada a un patrn. Cada token se convierte en un nmero o cdigo identificador nico. En algunos casos, cada nmero tiene asociada informacin adicional necesaria para las fases posteriores de la etapa de anlisis. El concepto de token coincide directamente con el concepto de terminal desde el punto de vista de la gramtica utilizada por el analizador sintctico.

Lexema: Es cada secuencia de caracteres concreta que encaja con un patrn. P.ej: 8", 23" y 50" son algunos lexemas que encajan con el patrn (0'|1'|2'| ... |9')+. El nmero de lexemas que puede encajar con un patrn puede ser finito o infinito, p.ej. en el patrn WHILE slo encaja el lexema WHILE.

Una vez detectado que un grupo de caracteres coincide con un patrn, se considera que se ha detectado un lexema. A continuacin se le asocia el nmero de su categora lxica, y dicho nmero o token se le pasa al sintctico junto con informacin adicional, si fuera necesario. Por ejemplo, si se necesita construir un analizador lxico que reconozca los nmeros enteros, los nmeros reales y los identificadores de usuario en minsculas, se puede proponer una estructura como:

LENGUAJES Y AUTOMATAS I