Teoría de lenguajes y compiladores

Slides:



Advertisements
Presentaciones similares
Análisis Sintáctico Capítulo 4.
Advertisements

Filminas Segunda semana
Clasificación de los compiladores
Compiladores e intérpretes Análisis Sintáctico II
Compiladores e intérpretes
Compiladores e intérpretes Análisis Sintáctico VI
Prof. Ing.Maria Rosa Damaso Rios
Cb00843 Traductores Rogelio Dávila Pérez Profesor Planta
Análisis Lexicográfico
¿Compilador ? Es un traductor que convierte un texto escrito en un lenguaje fuente y lo traduce a un programa objeto en código máquina.
Teoría de Autómatas y Compiladores
¿Cómo hacer para que una máquina comprenda el LN?
METODO DE ANALISIS DE FALLAS
Analizadores Sintácticos Descendentes Predictivos
Códigos Detectores y Correctores de Errores
Unidad 2. Análisis léxico
Ciclo de desarrollo del software
Teoría de lenguajes y compiladores
Traducción dirigida por la Sintaxis
Teoría de lenguajes y compiladores
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
ANALISIS SINTACTICO El análisis gramatical es la tarea de determinar la sintaxis, o estructura, de un programa. Por esta razón también se le conoce como.
Teoría de lenguajes y compiladores
Auditoria de la seguridad de los datos y del software de aplicación Unidad IV.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Sistemas Evolutivos Introduccion.
Tema 2 Lenguajes Formales.
Programación de sistemas
TRADUCTOR DE UN PROGRAMA
M.C. Meliza Contreras González
Procesadores del Lenguaje
FUNDAMENTOS DE PROGRAMACION
INGENIERIA EN SISTEMAS COMPUTACIONALES
ANALISIS SINTACTICO Parte I
Resumen de Compilación Preparado por Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Traducido por Christian Torres Universidad Ricardo.
Clasificación de Gramáticas y Manejo de Errores
Compiladores (23/04/ :35) Compiladores Tema 3 Análisis Lexicográfico Scanners.
Universidad Nacional de Jujuy Facultad de Ingeniería
Teoría de lenguajes y compiladores
Procesadores de Lenguajes
Todo traductor esta basado en una gramática para el lenguaje fuente. Todo traductor esta basado en una gramática para el lenguaje fuente. Una gramática.
Teoría de lenguajes y compiladores Analizadores lexicográficos
Programación de Sistemas
Tema 1. Introducción y Conceptos Básicos
Teoría de lenguajes y compiladores
Análisis Léxico Área Software de Base.
INFORMATICA VII (Programación e implementación de sistemas)
Programación de Sistemas FEI – 2008
Unidad 1. Introducción a los Compiladores.
DOCENTE: JINETH HURTADO MANUAL INTRODUCTORIO Y MANEJO DE ERRORES.
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
UNIVERSIDAD LATINA (UNILA)
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) TRADUCTORES Y ANALIZADOR LEXICOGRÁFICO.
Teoría de lenguajes y compiladores
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
Autómatas y Compiladores Novena Semana. Ricardo Vargas Del Valle A35469.
Teoría de lenguajes y compiladores
Teoría de lenguajes y compiladores
Preposición: suma= var1 + var2 + 10; Análisis Léxico El analizador léxico lee los caracteres del programa fuente, y verifica que correspondan a una secuencia.
El proceso de compilación
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
IV. GRAMÁTICAS DISTRIBUIDAS Y TABLAS DE SÍMBOLOS
Lenguaje de programación c
Programación de Sistemas
TEMA: Tipos de Errores Integrantes del equipo : Chávez Cholula Gisela Ramírez Valerio Ángeles Docente: L.I. Fuentes Cortes Miguel INSTITUTO TECNOLÓGICO.
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION SUPERIOR UNIVERSIDAD VALLE DEL MOMBOY CARVAJAL EDO. TRUJILLO ENERO 2014.
Problemas frecuentes en el uso de la Hoja de Respuesta (HDR) Pruebas SEPA.
Comentario de textos: El texto periodístico 3ºESO.
Autómatas y Compiladores. Primera Semana. Ricardo Vargas Del Valle A35469.
Transcripción de la presentación:

Teoría de lenguajes y compiladores Unidad I Analizadores lexicográficos Semana 5 Errores lexicográficos

Objetivo General El alumno al finalizar el curso podrá desarrollar aplicaciones que le permitan determinar si una estructura gramatical corresponde a una sentencia valida en la definición de un lenguaje en particular, teniendo en cuenta el contexto sintáctico y semántico. Así mismo estará capacitado para proponer nuevas formas estructurales en la definición de lenguajes de programación.

Objetivos Específicos Desarrollar un analizador lexicográfico

Objetivos Instruccionales Aplicar criterios para la recuperación de errores durante la etapa del análisis lexicográfico. Utilizar herramientas para la generación de analizadores léxicos.

Temas Scanners y lenguajes de programación Detección de errores en el análisis lexicográfico. Recuperación de errores en el análisis lexicográfico.

Scanners y Lenguajes de programación El scanner agrupa a uno o mas caracteres del programa fuente formando un token, para ello se apoya en el concepto de “delimitador”, que es un carácter que sirve para acabar un token pero sin incluirse en el.

Tipos de errores léxico Scanners y Lenguajes de programación Tipos de errores léxico Según Morgan los errores lógicos se dividen en cuatro grupos: Se ha incluido un símbolo o carácter absolutamente extraño para vocabulario terminal de la gramática del lenguaje de programación Se ha omitido un carácter (se declaro conta y se uso cont). Se ha introducido un nuevo carácter que viene a sumarse a los que realmente componen el nombre (se indico arrays en vez de array en la definición de arreglos). Han sido permutados dos caracteres del token analizado (se indico esle en vez de else)

Manejo de errores en el análisis léxico Scanners y Lenguajes de programación Manejo de errores en el análisis léxico Los errores léxicos se detectan cuando el analizador léxico intenta reconocer componentes léxicos en el código fuente. Los errores léxicos típicos son: Nombres ilegales de identificadores: un nombre contiene caracteres inválidos; Números inválidos: un número contiene caracteres inválidos (por ejemplo; 2,13 en lugar de 2.13), no está formando correctamente (por ejemplo, 0.1.33), o es demasiado grande y por tanto produce un desbordamiento; Cadenas incorrectas de caracteres: una cadena de caracteres es demasiado larga (probablemente por la omisión de comillas que cierran); Errores de ortografía en palabras reservadas: caracteres omitidos, adicionales, incorrectos o mezclados; Etiquetas ilegales: una etiqueta es demasiado larga o contiene caracteres inválidos.

Detección de errores en el análisis lexicográfico La mayoría de los errores léxicos se deben a descuidos del programador. En general, la recuperación de los errores léxicos es relativamente sencilla. Si un nombre, un número o una etiqueta contiene un carácter inválido, se elimina el carácter y continúa el análisis en el siguiente carácter; en otras palabras, el analizador léxico comienza a reconocer el siguiente componente léxico. El efecto es la generación de un error de sintaxis que será detectado por el analizador sintáctico. Este método también puede aplicarse a números mal formados. Las secuencias de caracteres como 12AB pueden ocurrir si falta un operador (el caso menos probable) o cuando se han tecleado mal ciertos caracteres. Es imposible que el analizador léxico pueda decidir si esta secuencia es un identificador ilegal o u número ilegal. En tales casos, el analizador léxico puede saltarse la cadena completa o intentar dividir las secuencias ilegales en secuencias legales más cortas. Independientemente de cuál sea la decisión , la consecuencia será un error de sintaxis.

Detección de errores en el análisis lexicográfico La detección de cadenas demasiado largas no es muy complicada, incluso si faltan las comillas que cierran, porque por lo general no está permitido que las cadenas pasen de una línea a la siguiente. Si faltan las comillas que cierran, puede usarse el carácter de fin de línea como el fin de cadena y reanudar el análisis léxico en la línea siguiente. Esta reparación quizás produzca errores adicionales. En cualquier caso, el programador debe ser informado por medio de un mensaje de error. Un caso similar a la falta de comillas que cierran en una cadena, es la falta de un símbolo de terminación de comentario. Como por lo regular está permitido que los comentario abarquen varias líneas, no podrá detectarse la falta del símbolo que cierra el comentario hasta que el analizador léxico llegue al final del archivo o al símbolo de fin de otro comentario. Si se sabe que el siguiente componente léxico debe ser una palabra reservada, es posible corregir una palabra reservada mal escrita. Esto se hace mediante funciones de corrección de errores.

Recuperación de errores en el análisis lexicográfico Un procedimiento corrector para tales situaciones consiste en formar subconjuntos de los mismos n caracteres que el nombre no ha encontrado en la tabla de símbolos (no declarado) y comparar. Se debe tener especial cuidado al realizar la recuperación, pues pudiera suceder que una vez “interpretado” el error mediante este procedimiento no fuera coincidente con la idea original del programador.

Teoría de lenguajes y compiladores Unidad I Analizadores lexicográficos Semana 5 Errores lexicográficos