5.2 Componentes Lexicos, Patrones y Lexemas

April 13, 2019 | Author: Kary De la Cruz | Category: Parsing, Grammar, Cognitive Science, Sicología y ciencia cognitiva, Computer Programming
Share Embed Donate


Short Description

Download 5.2 Componentes Lexicos, Patrones y Lexemas...

Description

UNIDAD V

ITCDJ

5.2 COMPONENTES LÉXICOS, PATRONES Y LEXEMAS En la fase de análisis, los términos componentes léxicos (token), patrón y lexema se emplean con significados específicos. Un analizador léxico, inicialmente lee los lexemas y le asigna un significado propio. • Componente léxico es la secuencia lógica y coherente de caracteres relativo a una categoría: identificador, palabra reservada, literales (cadena/numérica), operador o carácter de puntuación, además de que un componente léxico puede tener uno o varios lexemas. • Patrón es una regla que genera la secuencia de caracteres que puede representar a un determinado componente léxico (expresión regular). • Lexema es una cadena de caracteres que concuerda con un patrón que describe un componente léxico (valor de cadena). Ejemplo de una cadena de código: const pi = 3.1416;

El analizador léxico recoge información sobre los componentes léxicos en sus atributos asociados. Los tokens influyen en las decisiones del análisis sintáctico, y los atributos, en la traducción de los tokens. En la práctica los componentes léxicos suelen tener solo un atributo. Para efectos de diagnostico, puede considerarse tanto el lexema para un identificador como el numero de línea en el que se encontró por primera vez. Esta información puede ser almacenada en la tabla de símbolos para el identificador (estructura de datos).

LENGUAJES Y AUTOMATAS I

1

UNIDAD V

ITCDJ

Para la cadena E=M*C**2 de ejemplo, los componentes léxicos y los valores de atributo asociado son: Tome en cuenta que ciertas parejas no necesitan un valor de atributo. Los atributos relacionados con ese token deberán ser conservados y transferidos a alguna estructura de datos para que sean empleados en las siguientes etapas del análisis

LENGUAJES Y AUTOMATAS I

2

UNIDAD V



Patrón: es una expresión regular.



Token 

ITCDJ

:  es la categoría léxica asociada a un patrón. Cada

token

se

convierte en un número o código identificador único. En algunos casos, cada número tiene asociada información adicional necesaria para las fases posteriores de la etapa de análisis. El concepto de

token

coincide

directamente con el concepto de terminal desde el punto de vista de la gramática utilizada por el analizador sintáctico.



Lexema:  Es cada secuencia de caracteres concreta que encaja con un patrón. P.ej: “8", “23" y “50" son algunos lexemas que encajan con el patrón (‘0'|’1'|’2'| ... |’9')+. El número de lexemas que puede encajar con un patrón puede ser finito o infinito, p.ej. en el patrón ‘W’‘H’‘I’‘L’‘E’ sólo encaja el lexema “WHILE”.

Una vez detectado que un grupo de caracteres coincide con un patrón, se considera que se ha detectado un lexema. A continuación se le asocia el número de su categoría léxica, y dicho número o

token

se le pasa al sintáctico junto con

información adicional, si fuera necesario. Por ejemplo, si se necesita construir un analizador léxico que reconozca los números enteros, los números reales y los identificadores de usuario en minúsculas, se puede proponer una estructura como:

LENGUAJES Y AUTOMATAS I

3

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF