16
ANALISIS LEXICO y Diagramas de Transición UNIVERSIDAD “GERARDO BARRIOS” FACULTAD DE CIENCIA Y TECNOLOGÍA COMPILADORES E INTÉRPRETES. CICLO I – 2016 Análisis Lexico y DT 1

Clase analisis lexico

Embed Size (px)

Citation preview

Page 1: Clase analisis lexico

ANALISIS LEXICO

y Diagramas de Transición

UNIVERSIDAD “GERARDO BARRIOS”FACULTAD DE CIENCIA Y TECNOLOGÍA

COMPILADORES E INTÉRPRETES. CICLO I – 2016

Análisis Lexico y DT 1

Page 2: Clase analisis lexico

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.

Page 3: Clase analisis lexico

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

Page 4: Clase analisis lexico

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

Page 5: Clase analisis lexico

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.

Page 6: Clase analisis lexico

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)*

Page 7: Clase analisis lexico

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]

Page 8: Clase analisis lexico

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

Page 9: Clase analisis lexico

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

Page 10: Clase analisis lexico

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:

Page 11: Clase analisis lexico

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.

Page 12: Clase analisis lexico

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

Page 13: Clase analisis lexico

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

Page 14: Clase analisis lexico

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)

Page 15: Clase analisis lexico

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…

Page 16: Clase analisis lexico

Análisis Lexico y DT 16

ANALISIS LEXICO

Jueves 07 de abril de 2016

Grupos de 3 o 4 integrantes