ANALIZADOR LEXICO
1. UTILIZAR UN GENERADOR DE A.
LEXICOS ( LEX).
2. ESCRIBIR EL A. LEXICO EN UN
LENGUAJE CONVENCIONAL.
3. ESCRIBIR EL A. LEXICO EN LENGUAJE
ENSAMBLADOR.
ORDEN DE DIFICULTAD CRECIENTE.
LOS ENFOQUES MAS DIFICILES
A. LEXICOS + RAPIDOS.
PROBLEMA
EL ANALIZADOR LEXICO ES LA UNICA
FASE QUE LEE EL PROGRAMA
FUENTE CARCTER A CARACTER:
MUCHO TIEMPO.
LA
VELOCIDAD
SUPONE
PROBLEMA EN EL DISEO
COMPILADORES.
UN
DE
BUFFERS
DOS BUFFERS DE ENTRADA: PREANALISIS
EN LA ENTRADA PARA IDENTIFICAR LOS
COMPONENTES LEXICOS.
CONSUME MUCHO TIEMPO: TECNICAS
ESPECIALIZADAS EN EL MANEJO DE
BUFFERS PARA REDUCIR EL # DE
OPERACIONES
NECESARIAS
PARA
PROCESAR UN CARCTER DE ENTRADA.
PROCESO
BUFFER DIVIDIDO EN DOS MITADES
DE N CARACTERES CADA UNA. 1024 O
4096.
SE
LEEN
N
CARACTERES
DE
ENTRADA EN CADA MITAD DEL
BUFFER CON UNA ORDEN DE
LECTURA DEL SISTEMA.
E = M * C * * 2 eof
E = M * C * * 2 eof
Apuntador de Bsqueda
CENTINELAS
ES UN CARCTER ESPECIAL QUE NO
PUEDE SER PARTE DEL PROGRAMA
FUENTE
MARCA EL FINAL DEL BUFFERS.
EOF O FIN DE ARCHIVO.
ESPECIFICACIN DE LOS
COMPONENTES LXICOS
ALFABETO: CONJUNTO FINITO DE
SIMBOLOS. EJ: BINARIO,ASCII.
CADENA: SECUENCIA FINITA DE
SIMBOLOS.
LONGITUD DE CADENA: lSl
CADENA VACIA:
OPERACIONES COMPONENTES
LEXICOS
UNION
CONCATENACIN
EXPRESIONES REGULARES
PERMITE DEFINIR LA ESTRUCTURA.
ES UNA FORMULA PARA DENOTAR
LENGUAJES. DENOTA UN CONJUNTO
DE CADENAS.
Letra (letra/digito)*
Exp. Regular.
Identificadores
Letra seguida de cero o mas letras o
dgitos.
* : Cero o mas casos.
EJEMPLOS
= (a,b)
a/b = { a, b}
(a/b)(a/b) = { aa, ab, ba, bb}
a* = {, a, aa,aaa,.}
(a/b)*= {,a,aa,,b,bb,..} cero o mas casos de
una a o una b. = (a*/b*)*.
a/a*b = { a, b, ab, aab.}
Cadena a y todas las cadenas que componen de
cero o ms a seguidas de una b.
DEFINICIONES REGULARES
DEFINIR EXPRESIONES REGULARES.
SECUENCIA DE DEFINICIONES.
d1 r1
d2 r2
dn rn
EJEMPLO
IDENTIFICADOR
LETRA A/B/Z/a/b../z
DIGITO 0/1/2/9
ID LETRA (LETRA/DIGITO)*
EJERCICIOS
X
X/Y
(XY)/Z
(X*/Y*)
X/(YZ)*
EXPRESIONES
REGULARES
DEFINICIONES REGULARES:
DECLARACIN DE UNA MATRIZ
CICLO FOR;
PROXIMA CLASE:
DIAGRAMAS DE TRANSICIONES.