Clase6-Analisis Lexico

Preview:

DESCRIPTION

analizador lexico, definiciones

Citation preview

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…