Clase6-Analisis Lexico
-
Upload
marvin-parada -
Category
Documents
-
view
260 -
download
3
description
Transcript of Clase6-Analisis Lexico
ANALISIS LEXICO
y Diagramas de Transición
UNIVERSIDAD “GERARDO BARRIOS”FACULTAD DE CIENCIA Y TECNOLOGÍA
COMPILADORES E INTÉRPRETES. CICLO I – 2015
Análisis Lexico y DT 1
Análisis Lexico y DT 2
Objetivos
Conocer el funcionamiento del analizador léxico
Comprender su relación con la tabla de símbolos.
Entender como interviene la generación de errores a
partir de ésta etapa.
Aprender a especificar un analizador léxico.
Realizar diagramas y tablas de transicion.
Análisis Lexico y DT 3
Fases de un compilador
Compilación
Análisis Síntesis
Léxico“Tokens”
Sintáctico“Intrucciones”
Semántico“significado”
Generación deCódigo
Análisis Lexico y DT 4
Análisis Léxico
Está constituido por todas las palabras y
símbolos que lo componen. Para un lenguaje de
programación la definición también es válida.
Lo constituyen todos los elementos
individuales del lenguaje, denominados
frecuentemente en inglés tokens
Análisis Lexico y DT 5
Términos
Token
Así son tokens: las palabras reservadas del
lenguaje, los símbolos que denotan los distintos
tipos de operadores, identificadores (de
variables, de funciones, de procedimientos, de
tipos, etc.), separadores de sentencias y otros.
Análisis Lexico y DT 6
Términos
Token
◦ Elemento léxico del lenguaje
◦ Símbolo No Terminal de las fases siguientes
Patrón
◦ Expresión regular que define el lenguaje
◦ Letra (Letra | Digito)*
Análisis Lexico y DT 7
Términos
Lexema◦ Secuencia de caracteres que concuerda con un patrón
◦ Numero, caracter.
Atributos◦ Estructura de datos de cada token para almacenarse en la
TS
◦ Depende del tipo de token
◦ [ID, Lexema, Tipo, Valor, línea]
Análisis Lexico y DT 8
ANALISIS LEXICO
Un programa fuente es una serie de símbolos
que representan las construcciones del lenguaje
tales como variables, etiquetas, palabras
reservadas, constantes, operadores, entre otros.
El programa fuente se trata inicialmente con el
analizador léxico
Análisis Lexico y DT 9
Pasos del AL
Identificar la colección de tokens
Estructurar la colección de tokens
Describir el lenguaje como expresiones regulares
Análisis Lexico y DT 10
EJEMPLO
Así, para la siguiente sentencia de Pascal:
IF cuenta = sueldo THEN jefe:= justo;
El analizador léxico la separa en la siguiente
secuencia de tokens:
Análisis Lexico y DT 11
EJEMPLO
Y les asigna su atributo, habitualmente por medio
de un código numérico cuyo significado se ha
definido previamente.
Análisis Lexico y DT 12
LEXICO
El análisis léxico es un análisis a nivel de
caracteres, su misión es reconocer los
componentes léxicos o tokens, enviando al
analizador sintáctico
También recibe el nombre de explorador
(en ingles scanner).
Análisis Lexico y DT 13
Ejemplo
Analizador léxico que reconozca los siguientes
elementos:
Números enteros
Operadores aritméticos suma, resta, producto,
división, incremento y decremento (+, - *, /, ++,--)
Identificadores
WHILE
Análisis Lexico y DT 14
Especificación AL
Especificación formalGramáticas Lineales
Recursivas a izquierdas
Recursivas a derechas
expresiones regulares
Autómatas Finitos (Diagramas de Transición)
Análisis Lexico y DT 15
Funciones del AL
Tratar con la tabla de símbolos
Generar tokens bajo demanda del analizador sintáctico
Manejar el fichero fuente
Ignorar comentarios
Contabilizar posición de tokens
Preprocesar macros, constantes, includes…