Compiladores. Análisis Sintáctico Ascendente. Adrian Ulises Mercado Martínez. Facultad de Ingeniería, UNAM. 5 de septiembre de 2013
|
|
- María Jesús Montero Ruiz
- hace 6 años
- Vistas:
Transcripción
1 Compiladores Análisis Sintáctico Ascendente Adrian Ulises Mercado Martínez Facultad de Ingeniería, UNAM 5 de septiembre de 2013 Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
2 Índice 1 Introducción 2 Gramáticas Libres de Contexto 3 Derivaciones Derivaciones por la izquierda Derivaciones por la derecha 4 Árbol Sintáctico. 5 Ambigüedad 6 Notación BNF. 7 Diagramas de Sintaxis. Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
3 Introducción Sección 1 Introducción Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
4 Análisis Sintáctico Introducción Figure: Fase de análisis sintáctico Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
5 Análisis Sintáctico Introducción Tipos de Análisis Sintáctico 1 Análisis sintáctico universal. (Cocke-Younger-Kasami y Earley) 2 Análisis sintáctico descendente.(recursivo y LL(k)) 3 Análisis sintáctico ascendente.(lr(k)) Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
6 Análisis Sintáctico Introducción Tareas del Analizador Sintáctico o Parser Revisar la sintaxis del programa. Construir el árbol sintáctico. Detectar los errores sintácticos. Recuperarse de los errores. Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
7 Análisis Sintáctico Introducción Por qué se usan las gramáticas? 1 Una gramática proporciona una especificación sintáctica precisa; pero fácil de entender, de un lenguaje de programación. 2 A partir de ciertas gramáticas se puede construir un analizador sintáctico de forma automática. 3 La estructura impartida a un lenguaje mediante una gramática diseñada en forma apropiada es útil para traducir los programas fuente en código objeto correcto. 4 Una gramática permite que un lenguaje evolucione o se desarrolle de manera iterativa, agregando nuevas construcciones para realizar nuevas tareas. Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
8 Gramáticas Libres de Contexto Sección 2 Gramáticas Libres de Contexto Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
9 Gramáticas Libres de Contexto Análisis Sintáctico Gramática Libre de Contexto(GLC) Esta formada por una tupla de cuatro valores que se representa como sigue: G(N,Σ,P,S) donde: N: es un conjunto de símbolos no terminales Σ: conjunto de símbolos terminales P: es un subconjunto finito de Nx(N Σ). Las reglas de producción de la gramática. S: es el símbolo inicial de la gramática y pertenece a N. Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
10 Gramáticas Libres de Contexto Análisis Sintáctico Ejemplo de una gramática libre de contexto expresion expresion + term expresion expresion term expresion term term term factor term term/factor term factor factor (expresion) factor id Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
11 Gramáticas Libres de Contexto Análisis Sintáctico Convenciones de notación 1 Las mayúsculas o palabras entre < y > son símbolos no terminales. 2 Las letras mínusculas o palabras en negritas son símbolos terminales. 3 Las letras X, Y y Z, representan cualquier símbolo gramatical. 4 Las letras w, x, y, z representan cadenas de puros terminales. 5 Las letras griegas minúsculas representan cadenas compuestas de terminales y no terminales. 6 Un conjunto de reglas A α 1, A α 2,..., A α n se pueden escribir como A α 1 α 2... α n 7 A menos que se indique lo contrario, el encabezado de la primera producción es siempre el símbolo inicial. Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
12 Gramáticas Libres de Contexto Análisis Sintáctico Partes de una producción Sea P = A αβγ una producción Llamamos encabezado de P a A. Llamamos cuerpo de la producción a αβγ se lee como produce Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
13 Derivaciones Sección 3 Derivaciones Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
14 Análisis Sintáctico Derivaciones Definition (Sentencia) Una sentencia es una cadena formada exclusivamente de símbolos terminales. Definition (Forma Sentencial.) Una forma sentencial es una cadena formada tanto de símbolos terminales, como de símbolos no terminales Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
15 Análisis Sintáctico Derivaciones Definition (Derivación) Una derivación es el proceso mediante el cual partiendo del símbolo inicial de la gramática G, llegamos a una sentencia. En cada paso de la derivación sólo se puede sustituir un símbolo no terminal por el cuerpo de una de sus producciones. Ejemplo Sea G: A (A)A, A (a), A ε Obtener ((((a)))) A (A)A (A) ((A)A) (((A)A)A) (((A)A)) ((((a))a)) ((((a)))) Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
16 Análisis Sintáctico Derivaciones Derivaciones Sean α y β dos formas sentenciales, decimos que β es derivable de α en un solo paso y lo denotamos de la siguiente manera α β Si β se puede obtener de α en cero o más pasos de derivación, lo denotamos de la siguiente manera. α β También si β se obtiene de α en uno o más pasos de derivación, lo denotamos de la siguiente manera. α + β Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
17 Análisis Sintáctico Derivaciones Derivaciones por la izquierda Derivaciones por la izquierda Decimos que una derivación es por la izquierda cuando en cada paso de la derivación seleccionamos sustituir el no terminal que se encuentra más a la izquierda. Ejemplo Sea la gramática G: A (A)A ε Derivar por la izquierda ((())) A (A)A ((A)A)A (((A)A)A)A ((()A)A)A ((())A)A ((()))A ((())) Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
18 Análisis Sintáctico Derivaciones Derivaciones por la derecha Derivaciones por la derecha Una derivación es por la derecha cuando en cada uno de los pasos de la derivación siempre se sustituye el no terminal que se encuentra más a la derecha. Ejemplo Sea la gramática G A (A)A ε Derivar por la derecha la sentencia ((())). A (A)A (A) ((A)A) ((A)) (((A)A)) (((A))) ((())) Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
19 Árbol Sintáctico. Sección 4 Árbol Sintáctico. Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
20 Árbol Sintáctico. Análisis Sintáctico Árboles de derivación. Un árbol de derivación es la representación gráfica de una derivación, en el árbol no se puede saber cual es el orden preciso en que se fueron derivando los símbolos. Ejemplo Sea G: E E + E, E E E E E, E (E) E id Derivar -(id +id) E -E -(E) -(E+E) -( E + id)-(id + id) Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
21 Árbol Sintáctico. Análisis Sintáctico Ejemplo E - E ( E ) E id + E id En el árbol sintáctico los nodos contienen símbolos terminales y no terminales, los nodos hoja son los que contienen a los terminales, la raíz es el símbolo inicial de la gramática. Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
22 Ambigüedad Sección 5 Ambigüedad Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
23 Análisis Sintáctico Ambigüedad Ambigüedad Sea G: E E + E E E (E) id Una derivación por la izquierda E E + E id + E id + E * E id + id * E id + id * id Otra derivación por la izquierda E E * E E + E * E id + E * E id + id * E id + id * id Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
24 Análisis Sintáctico Ambigüedad Árbol de la primera derivación izquierda E Árbol de la segunda derivación izquierda E E + E E * E id E * E E + E id id id id id Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
25 Análisis Sintáctico Ambigüedad Gramáticas ambiguas 1 Gramáticas con ciclos : S A, S a, A S 2 Gramáticas con alguna regla: E E...E 3 Gramáticas con reglas del tipo: S B,S C, B C 4 Gramáticas con producciones recursivas, en donde los elementos no recursivos deriven en la cadena vacía: S ABS a, A a ε, B b ε 5 Gramáticas con símbolos no terminales que puede derivar la cadena vacía y a las mismas cadenas de terminales, a su vez aparecen en una misma regla de producción: S AB, A a ε, B b a ε Es muy importante que tengamos una gramática propia antes de aplicar todos los algoritmos relacionados al proceso de compilación. Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
26 Análisis Sintáctico Ambigüedad Eliminar la ambigüedad La asociatividad: la asociatividad de un operador en una gramática se refleja haciendo recursiva la gramática del lado que es asociativo el operador. La precedencia: se refleja en una gramática asignando para cada operador de diferente precedencia un símbolo no terminal, entre más cercano al símbolo inicial menor precedencia. Paréntesis: si se usan los paréntesis se toman en cuenta como si fueran operadores de mayor precedencia y por lo tanto se deben de tener lo más lejos que se pueda del símbolo inicial. Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
27 Notación BNF. Sección 6 Notación BNF. Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
28 Notación BNF. Análisis Sintáctico Notación BNF La notación BNF utiliza los siguientes metacaracteres: ::= para representar. <, > toda cadena entre estos símbolos representa un no terminal. la opcionalidad entre reglas de producción de un no terminal. Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
29 Notación BNF. Análisis Sintáctico Ejemplo de una gramática en BNF <exp>::=<exp> + <term> <term> <term>::=<term>/<factor> <factor> <factor>::= (<exp>) id num Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
30 Notación BNF. Análisis Sintáctico Notación EBNF La notación EBNF agrega funcionalidad a la notación BNF utilizando nuevos metacaractres: Los {} representan la cerradura de Kleene, es igual que el operador *. Los [] representan que puede estar o no, es igual al?. Se puede usar en lugar de ::= Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
31 Diagramas de Sintaxis. Sección 7 Diagramas de Sintaxis. Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
32 Diagramas de Sintaxis. Análisis Sintáctico Diagramas de sintaxis Los diagramas de sintaxis son la representación gráfica de las gramáticas en notación EBNF. Simbología id E Símbolos terminales. Símbolos No terminales Las flechas nos marcan el camino a seguir. Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
33 Diagramas de Sintaxis. Análisis Sintáctico Diagramas de sintaxis de las gramáticas EBNF S AB S {A} A B A S A B A B S [A] A Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
34 Diagramas de Sintaxis. Ejemplo Sea la gramática E E + T E - T T T T + F T / F F F (E) id Pasamos la gramática a notación EBNF E T {+T -T} T F {*F /F} F (E) id Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/ / 34
Gramáticas tipo 0 o Estructura de frase En este tipo de gramáticas no hay restricción en su producciones y tienen la forma siguiente.
Gramáticas Libres de Contexto 1. Gramáticas. Como vimos en el capítulo anterior una gramática es un conjunto finito de reglas que describen todas las secuencias de símbolos que pertenecen a un lenguaje.
Más detallesTema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I
Tema 4: Gramáticas independientes del contexto Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación.
Más detallesLenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores
Facultad de Ingeniería de Sistemas Lenguajes y Aspectos Formales (Parte 2) 2007 1 Derivaciones El proceso de búsqueda de un árbol sintáctico para una cadena se llama análisis sintáctico. El lenguaje generado
Más detallesControla el flujo de tokens reconocidos por parte del analizador léxico. 4.2 Introduccion a las gramaticas libres de contexto y arboles de derivacion
UNIDAD IV Analisis Sintactico 4.1 Introduccion Sintaxis significa estructura del orden de las palabras en una frase. La tarea del analisis sintactico es revisar si los símbolos aparecen en el orden correcto
Más detallesGRAMATICAS LIBRES DEL CONTEXTO
GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.
Más detallesGRAMÁTICAS LIBRES DE CONTEXTO
GRAMÁTICAS LIBRES DE CONTEXTO Definición Una gramática libre de contexto (GLC) es una descripción estructural precisa de un lenguaje. Formalmente es una tupla G=, donde Vn es el conjunto
Más detallesProyecto Intermedio Algoritmo de Earley
Fundamentos de Computación Proyecto Intermedio: Algoritmo de Earley Profesor: Dr. José Torres Jiménez Alumnos: Edna Gutiérrez Gasca Aureny Magaly Uc Miam Jorge Rodríguez Núñez Proyecto Intermedio Algoritmo
Más detallesConceptos básicos sobre gramáticas
Procesamiento de Lenguajes (PL) Curso 2014/2015 Conceptos básicos sobre gramáticas Gramáticas y lenguajes Gramáticas Dado un alfabeto Σ, un lenguaje es un conjunto (finito o infinito) de cadenas de símbolos
Más detallesCompiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.
Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Sintaxis Define la estructura del lenguaje Ejemplo: Jerarquía en
Más detallesUNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 3.
UNIVRSIDAD NACIONAL D DUCACIÓN A DISTANCIA scuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes Tema 3 Parte I Análisis Sintáctico Javier Vélez Reyes jvelez@lsi.uned.es Objetivos
Más detallesINTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES LENGUAJES FORMALES
Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público
Más detallesLenguajes y Compiladores Aspectos Formales (Parte 1) Compiladores
Facultad de Ingeniería de Sistemas Lenguajes y Aspectos Formales (Parte 1) 1 Aspectos Formales Los compiladores traducen lenguajes que están formalmente definidos a través de reglas que permiten escribir
Más detallesLenguajes y Compiladores Análisis Sintáctico Parte I. Teoría Lenguajes 1
Facultad de Ingeniería de Sistemas Lenguajes y Compiladores Análisis Sintáctico Parte I 1 Introducción El analizador sintáctico recibe una secuencia de tokens y decide si la secuencia está correcta o no.
Más detallesLENGUAJES Y GRAMÁTICAS
LENGUAJES Y GRAMÁTICAS Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 20 de septiembre de 2008 Contenido Lenguajes y Gramáticas Gramáticas Gramáticas
Más detallesComputabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars)
Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars) Prof. Gloria Inés Alvarez V. Departamento de Ciencias e Ingeniería de la Computación Pontificia Universidad
Más detallesLas Gramáticas Formales
Definición de Las Como definir un Lenguaje Formal Universidad de Cantabria Esquema Motivación Definición de 1 Motivación 2 Definición de 3 Problema Motivación Definición de Dado un lenguaje L, se nos presenta
Más detallesANÁLISIS SINTÁCTICO I GRAMÁTICAS
Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público
Más detalles16 Análisis sintáctico I
2 Contenido Recordando la estructura de un compilador Recordando el análisis léxico l análisis sintáctico Comparación con el análisis léxico l Rol del Parser Lenguajes de programación Gramáticas structura
Más detallesCAPITULO 5: GRAMÁTICAS
CAPITULO 5: GRAMÁTICAS 5.1. GRAMÁTICA EN UN LENGUAJE NATURAL: En un lenguaje natural la estructura de las frases, se describen por medio de una gramática que agrupa las palabras en categorías sintácticas
Más detallesClase 14: Gramáticas libres de contexto
M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Gramáticas libres de contexto Propiedades de los lenguajes libres de contexto
Más detallesSintaxis y Semántica. Tema 3. Sintaxis y Semántica. Expresiones y Lenguajes Regulares. Dr. Luis A. Pineda ISBN:
Tema 3 Expresiones y Lenguajes Regulares Dr Luis A Pineda ISBN: 970-32-2972-7 Sintaxis y Semántica En us uso normal, las expresiones lingüística hacen referencia a objetos individuales, así como a sus
Más detalles22, 23 y 24 Análisis sintáctico V Compiladores - Profr. Edgardo Adrián Franco Martínez
2 Contenido Análisis Sintáctico Ascendente Métodos Ascendentes Método Ascendente SLR Pasos para el método SLR Ejemplo SLR Resumen Ejercicios Compiladores (Análisis Sintáctico VI - Análisis Ascendente -
Más detallesCompiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.
Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Análizador Sintáctico de abajo hacia arriba Es un proceso de Reducción,
Más detalles18 Análisis sintáctico III Compiladores - Profr. Edgardo Adrián Franco Martínez. Clasificación de métodos de análisis sintáctico Análisis descendente
2 Contenido Clasificación de métodos de análisis sintáctico Análisis descendente Análisis descendente recursivo Análisis descendente predictivo Métodos deterministas Problemas del análisis descendente
Más detallesProcesadores de Lenguaje
Procesadores de Lenguaje Repaso TALF Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 La Jerarquía de Chomsky Cuatro niveles de lenguajes formales
Más detallesGramáticas libres de contexto
Gramáticas libres de contexto Conceptos básicos El siguientes es un ejemplo de una gramática libre de contexto, a la cual llamaremos G1. A 0A1 A B B # Una gramática consiste de una colección de reglas
Más detallesDefinición de la sintaxis (1) Definición de la sintaxis (2) Definición de la sintaxis (3)
Definición de la sintaxis (1) Gramática independiente del contexto: tiene cuatro componentes: Un conjunto de componentes léxicos, denominados símbolos terminales. Un conjunto de no terminales. Un conjunto
Más detallesANÁLISIS SINTÁCTICO I ANALIZADORES SINTÁCTICOS
Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público
Más detallesCiencias de la Computación I
Ciencias de la Computación I Gramáticas Regulares Expresiones Regulares Gramáticas - Intuitivamente una gramática es un conjunto de reglas para formar correctamente las frases de un lenguaje - Por ejemplo,
Más detallesANÁLISIS LÉXICO EXPRESIONES REGULARES
Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público
Más detallesLección 3: Fundamentos para el análisis sintáctico
Lección 3: Fundamentos para el análisis sintáctico 1) Introducción 2) Gramáticas. Definiciones y clasificación 3) GLC. Notaciones 4) GLC. Árboles de análisis sintáctico 5) GLC. Derivación a dcha. y a izda.
Más detallesNOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN
NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN G r a m á t i c a s UNIVERSIDAD DE SONORA DEPARTAMENTO DE MATEMÁTICAS LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN Dra. María de Guadalupe Cota Ortiz Lenguaje
Más detallesLa Ambigüedad en el Parsing
La en el Parsing Definición y Ejemplos Universidad de Cantabria Outline El Problema 1 El Problema 2 3 El Problema En nuestra busqueda por encontrar la estructura exploraremos como elegir una derivación
Más detallesClase 15: GLC s limpias y bien formadas
Clase 15: GLC s limpias y bien formadas Solicitado: Ejercicios 12: GLC s Limpias y bien formadas M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx
Más detallesProcesadores de Lenguaje
Procesadores de Lenguaje Analizadores sintácticos descendentes: LL(1) Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 Analizadores sintácticos
Más detallesAnalizadores sintácticos LR(0) y SLR
Teoría de Lenguajes Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Clase de Hoy Anteriores: Parsing descendente (LL(1), ELL) Recursivos e iterativos Generan árbol de derivación desde
Más detallesTipos de análisis deterministas. Análisis descendente. Tipos de análisis deterministas. Análisis ascendente. Análisis descendente
César Ignacio García Osorio Área de Lenguajes y Siste mas Informáticos Universidad de Burgos Tipos de análisis deterministas. nálisis descendente. La idea es generar una forma sentencial a partir del axioma,
Más detallesUNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes.
UNIVERIDAD NACIONAL DE EDUCACIÓN A DITANCIA Escuela Técnica uperior de Ingeniería Informática Procesadores de Lenguajes Tema 3 Parte II Análisis intáctico Descendente Javier Vélez Reyes jvelez@lsi.uned.es
Más detallesFundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002
Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto
Más detallesTema 3. Análisis sintáctico descendente
Departamento de Tecnologías de la Información Tema 3 Análisis sintáctico Ciencias de la Computación e Inteligencia Artificial Índice 3.1 Características del análisis sintáctico 3.2 Gramáticas libres de
Más detallesLenguajes Incontextuales
Tema 5: Gramáticas Formales Lenguajes Incontextuales Departamento de Sistemas Informáticos y Computación http://www.dsic.upv.es p.1/31 Tema 5: Gramáticas Formales Gramáticas. Tipos de Gramáticas. Jerarquía
Más detallesYACC (Yet Another Compiler Compiler) LALR(1) Parser Generator
YACC (Yet Another Compiler Compiler) LALR(1) Parser Generator 1 INDICE 1. Introducción 2. Especificaciones 3. Ambigüedad y conflictos 4. Tratamiento de errores 5. Uso con el LEX 6. Algunos consejos prácticos
Más detallesLas Gramáticas LL. Gramáticas con Parsing Eficiente. Universidad de Cantabria
Las (k) Las Gramáticas con Parsing Eficiente Universidad de Cantabria Outline Las (k) 1 Las (k) 2 3 Las (k) Formalizalización del Concepto LL Definición Una gramática libre de contexto G = (V, Σ, Q 0,
Más detallesLenguajes, Gramáticas y Autómatas Conceptos
Lenguajes, Gramáticas y Autómatas Conceptos Departamento de Informática e Ingeniería de Sistemas C.P.S. Universidad de Zaragoza Última revisión: Febrero. 2004 11/02/2004 1 Índice Alfabetos, palabras y
Más detallesEl proceso del Análisis Léxico
El proceso del Análisis Léxico El proceso de análisis léxico se refiere al trabajo que realiza el scanner con relación al proceso de compilación. El scanner representa una interfaz entre el programa fuente
Más detallesTema 1. Introducción
Departamento de Tecnologías de la Información Tema 1 Introducción Ciencias de la Computación e Inteligencia Artificial Índice 1.1 Conceptos 1.2 Un poco de historia 1.3 Estructura de un compilador 1.4 Teoría
Más detallesUnidad IV Análisis Sintáctico. M.C. Juan Carlos Olivares Rojas
Unidad IV Análisis Sintáctico M.C. Juan Carlos Olivares Rojas Agenda 4.1 Introducción a las Gramáticas libres de contexto y árboles de derivación. 4.2 Diagramas de sintaxis. 4.3 Precedencia de operadores.
Más detallesANÁLISIS SINTÁCTICO I ANÁLISIS SINTÁCTICO DESCENDENTE LL(1)
Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público
Más detallesAgenda. Introducción Analizador léxico Analysis El problema de analizar sintácticamente Analizador sintáctico descendeterecursivo
Agenda Introducción Analizador léxico Analysis El problema de analizar sintácticamente Analizador sintáctico descendeterecursivo Analizador sintáctico Bottom-Up 1-1 1-2 Introducción Los sistemas de implementación
Más detallesEl análisis descendente LL(1) 6, 7 y 13 de abril de 2011
6, 7 y 13 de abril de 2011 Analizadores sintácticos (repaso) Los analizadores descendentes: Corresponden a un autómata de pila determinista. Construyen un árbol sintáctico de la raíz hacia las hojas (del
Más detallesClase 11: Gramáticas. Solicitado: Ejercicios 09: Gramáticas
Solicitado: Ejercicios 09: Gramáticas M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Gramática Elementos de una gramática
Más detallesLenguajes y Gramáticas
Lenguajes y Gramáticas Teoría de Lenguajes Fernando Naranjo Introduccion Se desarrollan lenguajes de programación basados en el principio de gramática formal. Se crean maquinas cada vez mas sofisticadas
Más detallesÁRBOLES DE SINTAXIS. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales.
ÁRBOLES DE SINTAXIS ÁRBOL grafo dirigido acíclico. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales. Los nodos terminales (nodos hojas) están rotulados por los
Más detallesAnálisis Semántico y Traducción Dirigida por la Sintaxis. Programación II Margarita Álvarez
Análisis Semántico y Traducción Dirigida por la Sintaxis Programación II Margarita Álvarez Análisis Semántico Comprobación estática Comprobación de tipos: la aplicación de los operadores y operandos deben
Más detallesAnálisis sintáctico Analizadores descendentes
Procesadores de Lenguajes Ingeniería Técnica superior de Ingeniería Informática Departamento de Lenguajes y Sistemas informáticos Análisis sintáctico Analizadores descendentes Javier Vélez Reyes jvelez@lsi.uned.es
Más detallesPROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS
Licenciatura en Sistemas de Información PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS UNSE FCEyT 1. DESCRIPCIÓN Este taller consta de tres partes. En cada una de ellas se especifican
Más detallesGramaticas Independientes del Contexto, ejemplos y ejercicios
OpenStax-CNX module: m16320 1 Gramaticas Independientes del Contexto, ejemplos y ejercicios Carlos Arturo Cortés Fuentes This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution
Más detalles1.-DEFINE EN QUE CONSISTEN LAS GRAMÁTICAS LIBRES DE CONTEXTO
1.-DEFINE EN QUE CONSISTEN LAS GRAMÁTICAS LIBRES DE CONTEXTO una gramática libre de contexto (o de contexto libre) es una gramática formal en la que cada regla de producción es de la forma: V w Donde V
Más detallesCurso Básico de Computación
CINVESTAV IPN México City 2010 1 Preliminares 1.1 Cadenas, alfabetos y lenguajes Un símbolo es un ente abstracto que no se puede definir formalmente. Letras o dígitos son ejemplos
Más detallesPRACTICA TEORIA DE LA COMPUTACION INGENIERIA EN SISTEMAS COMPUTACIONALES CATEDRATICA: LIC. YESENIA PEREZ REYES ALUMNO: EDUARDO DOMINGUEZ JUAREZ
PRACTICA TEORIA DE LA COMPUTACION INGENIERIA EN SISTEMAS COMPUTACIONALES CATEDRATICA: LIC. YESENIA PEREZ REYES ALUMNO: EDUARDO DOMINGUEZ JUAREZ CUARTO SEMESTRE GRUPO: B 1 de 13 Ejercicios de Teoría de
Más detallesINAOE. Gramáticas Libres de Contexto. Definición formal de CFGs. Derivaciones usando. Derivaciones. izquierda y. derecha.
s s INAOE en s (INAOE) 1 / 67 Contenido s en s 1 s 2 3 4 5 6 7 8 en s (INAOE) 2 / 67 s s s Hemos visto que muchos lenguajes no son regulares. Por lo que necesitamos una clase más grande de lenguages Las
Más detallesTema: Análisis Sintáctico
Compiladores. Guía 3 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Análisis Sintáctico Contenido En esta guía se abordarán los conceptos pertenecientes al componente de análisis
Más detallesProcesadores de lenguaje Tema Análisis sintáctico (Parte I)
Procesadores de lenguaje Tema 3 Análisis sintáctico (Parte I) Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Introducción Conceptos básicos Tipos de analizadores Gramáticas independientes
Más detallesProcesadores de lenguaje Tema 3 Análisis sintáctico (Parte I)
Procesadores de lenguaje Tema 3 Análisis sintáctico (Parte I) Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Introducción Conceptos básicos Tipos de analizadores Gramáticas independientes
Más detallesCompiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.
Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Parsing LR: Ejemplo: E E + T E T T T * id T id S n : shift al estado
Más detallesESPECIFICACIÓN DE SÍMBOLOS
1 UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERÍA DEPARTAMENTO DE COMPUTACIÓN ESPECIFICACIÓN DE SÍMBOLOS Elaborado el Sábado 24 de Julio de 2004 I.- COMPONENTES LÉXICOS, PATRONES Y LEXEMAS (extraído de
Más detallesCurso Básico de Computación Preliminares
Curso Básico de Computación Preliminares Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) Preliminares 2010 1 / 11 1 Preliminares
Más detallesCapítulo 9. Introducción a los lenguajes formales. Continuar
Capítulo 9. Introducción a los lenguajes formales Continuar Introducción Un lenguaje es un conjunto de símbolos y métodos para estructurar y combinar dichos símbolos. Un lenguaje también recibe el nombre
Más detallesModelos De Computación. Guía Modelos de Computación. Tema I: Lenguajes y Gramáticas
Guía Modelos de Computación Tema I: Lenguajes y Gramáticas Introducción La sintaxis de un lenguaje natural, esto es, la de los lenguajes hablados, como el inglés, el español, el alemán o el francés, es
Más detallesAlfabetos, cadenas y lenguajes
Capítulo 1 lfabetos, cadenas y lenguajes 1.1. lfabetos y cadenas Un alfabeto es un conjunto finito no vacío cuyos elementos se llaman símbolos. Denotamos un alfabeto arbitrario con la letra Σ. Una cadena
Más detallesTema 5. Análisis sintáctico ascendente
Tema 5 Análisis sintáctico Ciencias de la Computación e Inteligencia Artificial Índice 5.1 Introducción 5.2 Análisis sintáctico por desplazamiento y reducción 5.3 El autómata reconocedor de prefijos viables
Más detallesClase 16: GLC s recursivas y no factorizadas Solicitado: Ejercicios 13: Recursividad y factorización de gramáticas
Clase 16: GLC s recursivas y no factorizadas Solicitado: Ejercicios 13: Recursividad y factorización de gramáticas M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom
Más detallesANÁLISIS SINTÁCTICO. Comprobar que la secuencia de componentes léxicos cumple las reglas de la gramática Generar el árbol sintáctico
Cadena de tokens Árbol Sintáctico ANÁLISIS SINTÁCTICO 1 Análisis Sintáctico 2 Funciones Comprobar que la secuencia de componentes léxicos cumple las reglas de la gramática Generar el árbol sintáctico Ventajas
Más detallesTeoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales
Teoría de utómatas y Lenguajes Formales Introducción a las ramáticas. ramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Introducción
Más detallesDEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES
1 DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES Los LENGUAJES FORMALES están formados por PALABRAS, las palabras son CADENAS y las cadenas están constituidas por SÍMBOLOS de un ALFABETO. SÍMBOLOS
Más detallesProcesadores de Lenguajes. Análisis sintáctico. Analizadores descendentes
Procesadores de Lenguajes Ingeniería Técnica superior de Ingeniería Informática Departamento de Lenguajes y Sistemas informáticos Análisis sintáctico Analizadores descendentes Javier Vélez Reyes jvelez@lsi.uned.es
Más detallesAnálisis sintáctico 1
Análisis sintáctico 1 Análisis sintáctico 1. Introducción 2. Análisis descendente (top-down) 2.1 Análisis con backtracking 2.2 Análisis predictivo 2.2.1 Método recursivo 2.2.2 Método iterativo 3. Análisis
Más detallesLENGUAJES Y GRAMÁTICAS
LENGUAJES Y GRAMÁTICAS LENGUAJES Y GRAMÁTICAS La sintaxis de un lenguaje natural en lenguajes como el ingles, español, alemán o francés es extremadamente complicada, dado que es imposible especificar la
Más detalles06 Análisis léxico II
2 Contenido Alfabetos, símbolos y cadenas Operaciones con cadenas Concatenación de dos cadenas Prefijos y sufijos de una cadena Subcadena y subsecuencia Inversión de una cadena Potencia de una cadena Ejercicios
Más detallesCoordinación de Ciencias Computacionales INAOE. Teoría de Autómatas y Lenguajes Formales. Temario detallado para examen de ingreso 2012
Coordinación de Ciencias Computacionales INAOE Teoría de Autómatas y Lenguajes Formales Temario detallado para examen de ingreso 2012 1. Autómatas 1.1. Por qué estudiar la teoría de autómatas? 1.1.1. Introducción
Más detallesElementos para el estudio de los compiladores
Ing. Adrian Ulises Mercado Martínez Enero 30, 2015 Ing. Adrian Ulises Mercado Martínez Enero 30, 2015 1 / 51 1 Objetivo 2 Historia 3 Traductor Tipo de Traductores Compilador Intérprete Máquina Virtual
Más detallesCAPITULO 2: LENGUAJES
CAPITULO 2: LENGUAJES 2.1. DEFINICIONES PREIAS SIMBOLO: Es una entidad indivisible, que no se va a definir. Normalmente los símbolos son letras (a,b,c,.., Z), dígitos (0, 1,.., 9) y otros caracteres (+,
Más detallesMáquinas Secuenciales, Autómatas y Lenguajes. Tema 4: Expresiones Regulares. Luis Peña
Máquinas Secuenciales, Autómatas y Lenguajes Tema 4: Expresiones Regulares Luis Peña Sumario Tema 4: Expresiones Regulares. 1. Concepto de Expresión Regular 2. Teoremas de Equivalencia Curso 2012-2013
Más detallesSSL Guia de Ejercicios
1 SSL Guia de Ejercicios INTRODUCCIÓN A LENGUAJES FORMALES 1. Dado el alfabeto = {a, b, c}, escriba las palabras del lenguaje L = {x / x }. 2. Cuál es la cardinalidad del lenguaje L = {, a, aa, aaa}? 3.
Más detallesUNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 4
UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes Tema 4 Análisis Sintáctico Ascendente Javier Vélez Reyes jvelez@lsi.uned.es Objetivos
Más detallesUnidad I: Análisis semántico
Unidad I: Análisis semántico 1.1 Arboles de expresiones Los árboles de expresiones representan el código de nivel del lenguaje en forma de datos. Los datos se almacenan en una estructura con forma de árbol.
Más detallesCompiladores: Sesión 16. Análisis semántico, traducción dirigida por sintaxis
Compiladores: Sesión 16. Análisis semántico, traducción dirigida por sintaxis Prof. Gloria Inés Alvarez V. Departamento de Ciencias e Ingeniería de la Computación Pontificia Universidad Javeriana Cali
Más detallesIngeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto
Universidad Autónoma del Estado de México Centro Universitario UAEM Texcoco Departamento de Ciencias Aplicadas. Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer,
Más detalles07 Análisis léxico III
2 Contenido Lenguaje Operaciones entre lenguajes Lenguajes regulares Expresiones regulares 3 Lenguaje Un lenguaje es un conjunto de palabras (cadenas) de un determinado alfabeto Σ. Formalmente: Se llama
Más detallesGramáticas de Atributos
Teoría de Lenguajes Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Etapas de un Compilador Analizador Léxico Analizador Sintáctico (Parser)... Lexer: Genera secuencia de tokens Reporta
Más detallesProgramación II Sesión 2: Especificación de problemas
Programación II Sesión 2: Especificación de problemas Diego R. Llanos Ferraris UNED, Centro Asociado de Palencia Nota: Estos apuntes son la guía utilizada por el Profesor Tutor para impartir el seminario
Más detallesTema 2 Gramáticas y Lenguajes Libres de Contexto
Tema 2 Gramáticas y Lenguajes Libres de Contexto 1. Definiciones Básicas 2. 3. Forma Normal de Chomsky 4. Autómatas de Pila 5. Propiedades de los Lenguajes Libres de Contexto 1. Definiciones básicas 1.
Más detalles10 Análisis léxico VI Compiladores - Profr. Edgardo Adrián Franco Martínez
2 Contenido Clasificación de los autómatas finitos Autómata finito no determinista (AFND) Autómata finito determinista (AFD) Teorema sobre la transformación de AFND en AFD Transformación de una expresión
Más detallesNombre de la asignatura: Lenguajes y Autómatas I. Créditos: Aportación al perfil
Nombre de la asignatura: Lenguajes y Autómatas I Créditos: 2 3 5 Aportación al perfil Desarrollar, implementar y administrar software de sistemas o de aplicación que cumpla con los estándares de calidad
Más detallesApuntes de compiladores
Apuntes de compiladores Tomás Barros 4 de septiembre de 2008 1. Introducción Un compilador es simplemente un programa que puede leer un programa en un lenguaje y traducirlo a otro lenguaje programa fuente
Más detallesTema: Autómata de Pila
Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores 1 Tema: Autómata de Pila Contenido La presente guía aborda los autómatas de pila, y se enfoca en la aplicación que se le puede dar a estas
Más detallesNo todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo:
1 Clase 3 SSL EXPRESIONES REGULARES Para REPRESENTAR a los Lenguajes Regulares. Se construyen utilizando los caracteres del alfabeto sobre el cual se define el lenguaje, el símbolo y operadores especiales.
Más detallesUnidad III Análisis Léxico. M.C. Juan Carlos Olivares Rojas
Unidad III Análisis Léxico M.C. Juan Carlos Olivares Rojas Agenda 3.1 Introducción a los Autómatas finitos y expresiones regulares. 3.2 Analizador de léxico. 3.3 Manejo de localidades temporales de memoria
Más detallesClase 03: Alfabetos, símbolos y cadenas
Solicitado: Ejercicios 01: Cadenas M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfranco@ipn.mx 1 Contenido Alfabetos, símbolos y cadenas Operaciones
Más detallesLenguajes Libres del Contexto
Capítulo 3 Lenguajes Libres del Contexto [LP81, cap 3] n este capítulo estudiaremos una forma de representación de lenguajes más potentes que los regulares. Los lenguajes libres del contexto (LC) son importantes
Más detalles