Tema 6: Compiladores e intérpretes. Teoría de autómatas y lenguajes formales I
|
|
- María del Rosario Montero Calderón
- hace 5 años
- Vistas:
Transcripción
1 Tema 6: Compiladores e intérpretes Teoría de autómatas y lenguajes formales I
2 Bibliografía Sudkamp, T. A. Languages and machines: an introduction to the theory of computer science. Addison Wesley capítulos 4, 15 y 16 Aho A., Sethi R. and Ullman J. Compiladores. Principios, técnicas y herramientas. Addison Wesley capítulo 1 Tema 6: Compiladores e intérpretes 2
3 Introducción Un compilador es un programa que lee un programa escrito en un lenguaje (fuente) y lo traduce a un programa equivalente en otro lenguaje (objeto) El primer compilador FORTRAN necesitó de 18 años de trabajo para su implantación Hoy en día existen técnicas sistemáticas para manejar muchas de las tareas que surgen en la compilación, y herramientas software que facilitan el diseño Tema 6: Compiladores e intérpretes 3
4 Sistema para procesamiento de un lenguaje Tema 6: Compiladores e intérpretes 4
5 Fases de un compilador Tema 6: Compiladores e intérpretes 5
6 Traducción de una proposición Tema 6: Compiladores e intérpretes 6
7 Análisis sintáctico Tres tipos generales de analizadores sintácticos métodos universales de análisis sintáctico algoritmos de Cocke-Younger-Kasami y de Early descendentes construyen árboles de análisis sintáctico desde arriba (raíz) hasta abajo (hojas) ascendentes Tema 6: Compiladores e intérpretes 7
8 Análisis descendente en anchura Tema 6: Compiladores e intérpretes 8
9 Análisis descendente en anchura Se obtiene una derivación si la entrada pertenece al lenguaje Puede no ser capaz de determinar si una cadena no está en el lenguaje camino infinito: recursividad por la izquierda solución: conocer la longitud de la cadena para ello son necesarios analizadores de varias pasadas Implementación práctica: crecimiento exponencial del árbol Tema 6: Compiladores e intérpretes 9
10 Análisis descendente en profundidad Tema 6: Compiladores e intérpretes 10
11 Análisis descendente en profundidad (II) No está garantizado que se encuentre una derivación para todas las cadenas del lenguaje se puede entrar en caminos infinitos Ejemplo: cadena de entrada (b) + b Tema 6: Compiladores e intérpretes 11
12 Análisis ascendente Se construirán las derivaciones más a la derecha Reducción: dada w=u 1 qu 2, y A q, entonces v=u 1 Au 2 Ejemplo: reducción de la cadena (b) + b a S Generación de todas las posibles reducciones de una cadena w=uv si u=u 1 q y A q, se produce la reducción de w a u 1 Av hay que probar con todas las posibles combinaciones de u y v Tema 6: Compiladores e intérpretes 12
13 Análisis ascendente en anchura Si la cadena forma parte del lenguaje, siempre se encontrará su derivación más a la derecha Para gramáticas cuyas reglas tengan todas una longitud de su parte derecha mayor que 1, está garantizado que la longitud del árbol no puede exceder la de la cadena, asegurando la terminación del análisis con una derivación o un fallo Tema 6: Compiladores e intérpretes 13
14 Análisis ascendente en profundidad En la pila se almacena [u, i, v], donde uv es la forma sentencial que se va a reducir, e i el identificador de la regla usada en la reducción El axioma de la gramática debe ser no recursivo cualquier GIC se puede transformar a una equivalente con axioma no recursivo otra posibilidad es eliminar la condición que restringe las reducciones con S, y cambiar la condición de finalización del lazo desde (u=s) a (u=s y v=λ) Tema 6: Compiladores e intérpretes 14
15 Análisis ascendente en profundidad (II) Ejemplo: construir la derivación para (b + b) para la gramática AE Tema 6: Compiladores e intérpretes 15
16 Predicción en analizadores descendentes Construcción de la derivación más a la izquierda para p las derivaciones serán de la forma S * uav u es el prefijo de p analizando lo que resta de cadena de entrada se puede reducir el número de reglas de A que es necesario examinar Se asumirá que las gramáticas no tienen símbolos inútiles Ejemplo: derivación de la cadena acbb para la gramática Tema 6: Compiladores e intérpretes 16
17 Predicción en analizadores descendentes (II) Sea G = (V, Σ, P, S) una GIC, y A V * * conjunto predictivo de la variable A: LA( A) = { x S uav ux Σ conjunto predictivo de la regla A w: * * * LA( A w) = { x wv x Σ, donde S uav} Los conjuntos LA(A w i ) satisfacen: LA( A) = U n i= 1 LA( A para cualquier GIC w i LA A w ) LA( A w ) = para todo 1 <= i <= j <= n ( i j para una GIC fuertemente LL(k) ) Ejemplo: cadena ab: predicción de tres símbolos * } Tema 6: Compiladores e intérpretes 17
18 Predicción en analizadores descendentes (III) Ejemplo: cadena abc: predicción de cuatro símbolos Tema 6: Compiladores e intérpretes 18
19 Predicción en analizadores descendentes (IV) Sea G = (V, Σ, P, S) una GIC, y k>0 un número natural trunc k ( X ) = { u u X con u k, o uv X con u = k} LA k (A) = trunc k (LA(A)) LA k (A w) = trunc k (LA(A w)) Ejemplo: conjuntos predictivos de longitud 3 Tema 6: Compiladores e intérpretes 19
20 FIRST * Sea G una GIC. Para cada cadena u ( V Σ) y k>0 FIRST Ejemplo: k * ( u) = trunc ({ x u x, u Σ k * }) Para cada k>0, FIRST k (λ) = {λ} FIRST k (a) = {a} FIRST ( au ) { av v FIRST ( u k = k 1 )} FIRST k (uv) = trunc k (FIRST k (u) FIRST k (v)) si A w es una regla de G, entonces FIRST k ( w) FIRST ( A) k Tema 6: Compiladores e intérpretes 20
21 FOLLOW Sea G una GIC. Para cada variable A V y k>0 * FOLLOWk ( A) = trunck ({ x S uav, y x FIRSTk ( v )}) Ejemplo: Para todo k>0, FOLLOW k (S) contiene λ (S es el axioma de G) Tema 6: Compiladores e intérpretes 21
22 Conjunto predictivo Sea G una GIC. Para todo k>0, A V y regla A u 1 u 2... u n LA k (A) = trunc k (FIRST k (A) FOLLOW k (A)) LA k (A w) = trunc k (FIRST k (w)follow k (A)) = trunc k (FIRST k (u 1 )...FIRST k (u n )FOLLOW k (A)) Ejemplo: Tema 6: Compiladores e intérpretes 22
23 Gramáticas fuertemente LL(k) Las gramáticas fuertemente LL(k) (Left la cadena se lee de izqda. a dcha.- Left derivación más a la izqda.-) garantizan que los conjuntos predictivos LA k (A) están particionados por los conjuntos LA k (A w i ) para cada variable A V Cuando se predice con k símbolos, es útil concatenar un marcador de final de cadena, # k, al final de cada cadena del lenguaje si S (axioma) es no recursivo, se añade # k al final de cada regla de S en caso contrario, se crea un nuevo axioma S y la regla S S# k Sea G una GIC con marcador final # k. G es fuertemente LL(k) si siempre que existan dos derivaciones más a la izquierda S * u 1 Av 1 * u 1 xv 1 * u 1 zw 1 S * u 2 Av 2 * u 2 yv 2 * u 2 zw 2 donde u i, w i,z Σ* y z =k. Entonces x = y Tema 6: Compiladores e intérpretes 23
24 Construcción de FIRST k Ejemplo: First 2 Tema 6: Compiladores e intérpretes 24
25 Construcción de FOLLOW k Para A u 1... u n FL(u i ) = FL(u i ) U trunc k { First k (u i+1 )... First k (u n ) FL (A) } Ejemplo: Tema 6: Compiladores e intérpretes 25
26 Un ejemplo Ejemplo: conjuntos predictivos de longitud 2 para la gramática LA k (A w) = trunc k (FIRST k (u 1 )...FIRST k (u n )FOLLOW k (A)) G es fuertemente LL(2), pues los conjuntos LA k (A w i ) particionan LA k (A) para cada variable A V Tema 6: Compiladores e intérpretes 26
27 Una gramática fuertemente LL(1) Tema 6: Compiladores e intérpretes 27
28 Analizador fuertemente LL(k) Ejemplo: análisis de la cadena (b + b)# para la siguiente gramática fuertemente LL(1) Tema 6: Compiladores e intérpretes 28
29 Gramáticas LL(k) Sea G una GIC con marcador final # k. G es LL(k) si siempre que existan dos derivaciones más a la izquierda S * uav * uxv * uzw 1 S * uav * uyv * uzw 2 donde u i, w i,z Σ* y z =k. Entonces x = y Las gramáticas fuertemente LL(k) requieren que exista una única regla de A que pueda derivar la cadena predictiva z desde cualquier forma sentencial que contenga A Las gramáticas LL(k) sólo requieren que la regla sea única para una forma sentencial dada, uav Tema 6: Compiladores e intérpretes 29
30 Gramáticas LL(k) (II) Sea G una GIC, y uav una forma sentencial de G el conjunto predictivo de la forma sentencial uav es LA k (uav)=first k (Av) el conjunto predictivo de la forma sentencial uav y la regla A w es LA k (uav, A w)=first k (wv) Para seleccionar de forma única una regla para la forma sentencial uav, el conjunto LA k (uav) debe estar particionado por los conjuntos LA k (uav, A w i ) si la gramática es fuertemente LL(k), esto está garantizado y la gramática también será LL(k) Tema 6: Compiladores e intérpretes 30
31 Gramáticas LL(k) (III) Ejemplo: una gramática LL(k) no necesita ser fuertemente LL(k) es fuertemente LL(3), es LL(2), pero no fuertemente LL(2) Ejemplo: la siguiente gramática es LL(3), pero no es fuertemente LL(k) para ningún k Tema 6: Compiladores e intérpretes 31
32 Gramáticas LL(k) (IV) El análisis determinístico con gramáticas LL(k) requiere la construcción de los conjuntos predictivos para las formas sentenciales generadas durante el análisis LA k (uav, A w) donde w=w 1... w n y v=v 1... v m será: LA k (uav, A w)=trunc k (FIRST k (w 1 )...FIRST k (w n )FIRST k (v 1 )...FIRST k (v m )) Tema 6: Compiladores e intérpretes 32
33 Gramáticas LR(k) Analizadores ascendentes LR left: se lee la cadena de entrada de izquierda a derecha right: se selecciona la derivación más a la derecha Un analizador ascendente determinista trata de reducir la cadena de entrada al símbolo inicial de la gramática Tema 6: Compiladores e intérpretes 33
34 Problemas finales Dada la gramática G=({a, b}, {S, A, B}, P, S), donde P viene dada por: S C C ac AB B A aba ab B ba BB Obtener el árbol de derivación para el análisis descendente en profundidad con la cadena aababa. Mostrar la configuración del árbol y de la pila en cada instante. Es la gramática fuertemente LL(2)? Para probarlo es obligatorio construir los conjuntos FIRST y FOLLOW (para todas las variables). Tema 6: Compiladores e intérpretes 34
35 Problemas finales (II) Dada la gramática G=({a, b}, {S, A, B}, P, S), donde P viene dada por: S aabb babb A ab a B ab b Obtener el árbol de derivación para el análisis descendente en profundidad con la cadena babab. Mostrar la configuración del árbol y de la pila en cada instante. Es la gramática fuertemente LL(2)? Para probarlo es obligatorio construir los conjuntos FIRST y FOLLOW (para todas las variables). Tema 6: Compiladores e intérpretes 35
36 Problemas finales (III) El lenguaje {a i abc i i > 0} es generado por las gramáticas: Construir los conjuntos FIRST y FOLLOW de todas las variables, así como los conjuntos predictivos para cada una de las reglas. Determinar cuántos símbolos son necesarios para realizar la predicción en cada una de las variables. Estimar si la gramática es fuertemente LL(k) para algún valor de k. Tema 6: Compiladores e intérpretes 36
Tema 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 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 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 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 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 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 detallesUNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS. NOMBRE DEL CURSO: Lenguajes Formales y de Programación
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS NOMBRE DEL CURSO: Lenguajes Formales y de Programación CÓDIGO: 796 CRÉDITOS: 3 ESCUELA: Ciencias y Sistemas
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 detallesProcesadores de Lenguaje
Procesadores de Lenguaje Analizadores sintác0cos descendentes: LL(1) Cris%na Tirnauca DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN Este tema se publica bajo Licencia: Crea0ve Commons BY NC SA 3.0 Analizadores
Más detallesTema 1: Introducción. Teoría de autómatas y lenguajes formales I
Tema 1: Introducción 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. Addison Wesley.
Más detallesPROGRAMA DE LABORATORIO POS-REQUISITO: Primer Semestre 2019 Ing. Mario José Bautista Fuentes AUXILIAR: Nery Galvez
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA ESCUELA DE CIENCIAS PROGRAMA DE LABORATORIO CÓDIGO: 777 CRÉDITOS: 4 Organización de NOMBRE CURSO: Lenguajes y SECCIÓN: A Compiladores 1 ESCUELA:
Más detallesTema 5: Autómatas a pila. Teoría de autómatas y lenguajes formales I
Tema 5: Autómatas a pila 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. Addison Wesley.
Más detallesNOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación CODIGO: 796 CREDITOS: 3 ESCUELA: PRE REQUISITOS:
Más detallesTITULACIÓN Ingeniero Técnico en Informática de Sistemas ASIGNATURAS DE SEGUNDO CURSO DEL PLAN 1999 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES PROGRAMA:
TITULACIÓN Ingeniero Técnico en Informática de Sistemas ASIGNATURAS DE SEGUNDO CURSO DEL PLAN 1999 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES PROGRAMA: PROGRAMA DE TEORÍA Parte I: INTRODUCCIÓN 1. Introducción
Más detallesNOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación CODIGO: 796 CREDITOS: 3 ESCUELA: Ciencias
Más detallesCompiladores. Análisis Sintáctico Ascendente. Adrian Ulises Mercado Martínez. Facultad de Ingeniería, UNAM. 5 de septiembre de 2013
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/2013 1 / 34 Índice
Más detallesTRADUCTORES E INTERPRETADORES
TRADUCTORES E INTERPRETADORES Clase 11: Analizadores Sintácticos Descendentes Agenda Analizadores Recursivos Descendentes. Análisis Predictivo. Analizadores LL(1). Analizadores LL(k) y LL(*). Analizadores
Más detalles17 Análisis sintáctico II Compiladores - Profr. Edgardo Adrián Franco Martínez. Gramáticas limpias y bien formadas
2 Contenido Gramáticas limpias y bien formadas Algoritmo para detectar símbolos muertos Algoritmo para detectar símbolos inaccesibles Gramáticas ambiguas Clasificación de métodos de análisis sintáctico
Más detallesBENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN
BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN PROGRAMA DE LA MATERIA CORRESPONDIENTE A LA LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN. Coordinación: NOMBRE DE LA MATERIA:
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 detallesNOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación CODIGO: 796 CREDITOS: 3 ESCUELA: Ciencias
Más detallesAUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO
Autómatas de pila y lenguajes independientes del contexto -1- AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO AUTÓMATAS DE PILA - Son autómatas finitos con una memoria en forma de pila. - Símbolos
Más detallesUNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO COMPILADORES 1764 7 o 09 Asignatura Clave Semestre Créditos Ingeniería Eléctrica Ingeniería en Computación Ingeniería
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 detallesIntroducción al Diseño de Compiladores. Año
Introducción al Diseño de Compiladores Año 2003 1 BIBLIOGRAFÍA [AHO] Compilers. Principles, Techniques, and Tools Aho, Sethi; Adisson-Wesley 1986 [TEU] Compiladores: Conceptos fundamentales. Teufel ; Addison
Más detallesUNIVERSIDAD DE GUADALAJARA
UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE LOS ALTOS DIVISIÓN DE ESTUDIOS EN FORMACIONES SOCIALES LICENCIATURA: INGENIERÍA EN COMPUTACIÓN UNIDAD DE APRENDIZAJE POR OBJETIVOS COMPILADORES MTRA.
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 detallesTeoría de Lenguajes. Gramáticas incontextuales
Teoría de Lenguajes Gramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Gramáticas incontextuales 1. Definiciones básicas.
Más detallesPROGRAMA DE LABORATORIO SECCIÓN: ÁREA A LA QUE PERTENECE: POS-REQUISITO: AUXILIAR:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA ESCUELA DE CIENCIAS PROGRAMA DE LABORATORIO CÓDIGO: 777 CRÉDITOS: 4 NOMBRE CURSO: ESCUELA: PRE-REQUISITO: Organización de Lenguajes y Compiladores
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 detallesPontificia Universidad Católica del Ecuador
1. DATOS INFORMATIVOS: MATERIA O MÓDULO: COMPILADORES E INTERPRETES CÓDIGO: 10730 CARRERA: NIVEL: SISTEMAS QUINTO No. CRÉDITOS: 4 CRÉDITOS TEORÍA: 4 CRÉDITOS PRÁCTICA: - SEMESTRE / AÑO ACADÉMICO: 2 / 2010
Más detallesPresentación de la Asignatura
de la Asignatura Federico Peinado www.federicopeinado.es José Luis Sierra Coordinador de la asignatura y creador de los contenidos Ingeniería en Informática Facultad de Informática Universidad Complutense
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 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 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 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 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 detallesPrograma Educativo: Licenciatura en Ciencias PROGRAMA DE ESTUDIO. Obligatoria Programa elaborado por:
Programa Educativo: Licenciatura en Ciencias PROGRAMA DE ESTUDIO Computacionales Área a la que pertenece : Sustantiva Profesional Horas teóricas: 2 Horas prácticas: 4 Total de Horas: 6 COMPILADORES Total
Más detallesHoras teóricas: Horas practicas: Área de conocimiento a la que pertenece
PROGRAMA DE ESTUDIOS Área de formación a la que pertenece: TRADUCTORES DE ALTO NIVEL CARRERA LT Sustantiva Profesional Horas teóricas: Horas practicas: 2 2 Créditos: 6 Clave: F0353 Área de conocimiento
Más detallesCompiladores e Intérpretes Análisis Sintáctico
1 Compiladores e Intérpretes Análisis Sintáctico Sebastian Gottifredi 2017 Organizacion Contexto Motivación Reglas de Sintaxis Construyendo Analizadores Sintácticos Ambigüedad Analizadores Sintácticos
Más detallesFACULTAD POLITÉCNICA DIRECCIÓN ACADÉMICA PROGRAMA DE ESTUDIO I. IDENTIFICACIÓN Carrera : Ingeniería de Sistemas CARGA HORARIA (Horas reloj) Asignatura : Compiladores Carga Horaria Semestral 64 Semestre
Más detallesANÁLISIS SINTÁCTICO PREDICTIVO NO RECURSIVO
1 UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERÍA DEPARTAMENTO DE COMPUTACIÓN ANÁLISIS SINTÁCTICO PREDICTIVO NO RECURSIVO Elaborado el Martes 12 de Octubre de 2004 I.- INTRODUCCIÓN Es posible realizar
Más detallesUNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO LENGUAJES FORMALES Y AUTÓMATAS 1670 6 09 Asignatura Clave Semestre Créditos Ingeniería Eléctrica Ingeniería en Computación
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 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 detallesIntroducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas
Gramáticas Introducción Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas En algunos lenguajes, una sucesión de símbolos depende del
Más detallesCiencias de la Computación I
Ciencias de la Computación I Gramáticas Libres del Contexto y Lenguajes Libres del Contexto Gramáticas Formales Una gramática formal es una cuadrupla G = (N, T, P, S) N = conjunto finito de símbolos no
Más detallesUNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SOFTWARE 1. INFORMACIÓN GENERAL
Más detallesUNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS 1. INFORMACIÓN GENERAL
Más detallesGeneralidades sobre lenguajes.
no DSIC - UPV July 3, 2011 (DSIC - UPV) July 3, 2011 1 / 21 Definiciones: no Alfabeto Σ = {a, b, c} o Γ = {0, 1} palabra, cadena o frase Σ: x = aaba, y = 0011. Cadena vacía: λ. Longitud de una palabra:
Más detallesTema: Análisis Sintáctico LR
Compiladores. Guía 4 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Análisis Sintáctico LR Contenido En esta guía se abordarán los conceptos pertenecientes al componente de
Más detallesProcesadores de lenguaje
Procesadores de lenguaje Tema 3 Análisis sintáctico (Parte II) Salvador Sánchez, Daniel Rodríguez Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Análisis sintáctico ascendente
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 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 detallesUNIVERSIDAD DE LOS LLANOS Facultad de Ciencias Básicas e Ingeniería Programa Ingeniería de Sistemas ALGORITMIA AVANZADA
CURSO: ALGORITMIA AVANZADA 1 SEMESTRE: VII 2 CODIGO: 602802 3 COMPONENTE: 4 CICLO: 5 AREA: Profesional 6 FECHA DE APROBACIÓN: 7 NATURALEZA: Teórico - Practica 8 CARÁCTER: Obligatorio 9 CREDITOS (RELACIÓN):
Más detallesUNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO. Licenciatura en Ciencias de la Computación. Facultad de Ciencias. Programa de la asignatura.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO Licenciatura en Ciencias de la Computación Facultad de Ciencias Denominación de la asignatura: Clave: 0817 Semestre: 7 Carácter: Obligatoria Tipo: Teórico-Práctica
Más detallesMODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.
MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.
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 detallesTema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I
Tema 3: Gramáticas regulares 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. Addison
Más detallesINSTITUTO POLITECNICO NACIONAL SECRETARIA ACADEMICA DIRECCION DE ESTUDIOS PROFESIONALES EN INGENIERIA Y CIENCIAS FISICO MATEMATICAS
ESCUELA: UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS. CARRERA: INGENIERIA EN INFORMÁTICA ESPECIALIDAD: COORDINACION: ACADEMIAS DE COMPUTACIÓN DEPARTAMENTO:
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 detallesUNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 2.
UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes Tema 2 Análisis Léxico Javier Vélez Reyes jvelez@lsi.uned.es Objetivos del Tema
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 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 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 detallesNombre de la Unidad de Aprendizaje. Clave de la UA Modalidad de la UA Tipo de UA Valor de créditos Área de formación
Misión del Centro Universitario Somos un centro que forma parte de la Red Universitaria de la Universidad de Guadalajara. Como institución de educación superior pública asumimos el compromiso social de
Más detallesDescriptor. Máquinas secuenciales y autómatas finitos. Gramáticas y lenguajes formales. Construcción de intérpretes y compiladores.
Descriptor Máquinas secuenciales y autómatas finitos. Gramáticas y lenguajes formales. Construcción de intérpretes y compiladores. Créditos teóricos: 4,5. Créditos prácticos: 4,5. ALeF. Presentación de
Más detallesLenguajes y Compiladores Análisis Sintáctico Parte II
Universidad Nacional San Luis Gonzaga Facultad de Ing. De Sistemas Lenguajes y Compiladores Análisis Sintáctico Parte II 1 Análisis Ascendente El análisis ascendente es conocido como análisis por desplazamiento
Más detallesMETACOMPILADOR DIDÁCTICO GENERADOR DE CÓDIGO JAVA
METACOMPILADOR DIDÁCTICO GENERADOR DE CÓDIGO JAVA Erick Leonel Rico Preciado 1, Ana Cristina Bueno Campos 1, José Gerardo Carpio Flores 2, Ruth Sáez de Nanclares Rodríguez 2, Martha Alicia Rocha Sánchez
Más detallesContenido. Capítulo 1. Teoría de conjuntos. 1. Capítulo 2. Lenguaje. 39. Capítulo 3. Lenguajes formales. 55
Contenido Capítulo 1. Teoría de conjuntos. 1 1.1 Conjuntos.... 3 1.1.1 Definiciones básicas.... 3 1.1.2 Operaciones sobre conjuntos.... 6 1.1.3 Diagrama de Venn.... 7 1.1.4 Álgebra de conjuntos.... 7 1.2
Más detallesTema: Análisis Sintáctico
Compiladores. Guía 6 1 Tema: Análisis Sintáctico Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Contenido En esta guía se abordarán los conceptos pertenecientes al componente de análisis
Más detallesCátedra Sintaxis y Semántica del Lenguaje
Cátedra Sintaxis y Semántica del Lenguaje 1 º CICLO DE CAPACITACION DOCENTE 1 Simplificación de Gramáticas Tipo 2 Forma Normal de Chomsky (FNC) Forma Normal de Greibach (FNG) 2 1 Jerarquía de Chomsky Gramáticas
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 detallesGramáticas Libres de Contexto
Gramáticas Libres de Contexto Pedro J. Álvarez Pérez-Aradros Rubén Béjar Hernández Departamento de Informática e Ingeniería de Sistemas C.P.S. Universidad de Zaragoza GramáticasLibresContrxto.ppt 29/03/2004
Más detallesGUÍA DE APRENDIZAJE TEORÍA DE LENGUAJES DE PROGRAMACIÓN GRADUADO EN INGENIERÍA DE COMPUTADORES
GUÍA DE APRENDIZAJE TEORÍA DE LENGUAJES DE PROGRAMACIÓN DATOS DESCRIPTIVOS 1 GRADUADO EN INGENIERÍA DE COMPUTADORES CENTRO RESPONSABLE E.U. de Informática OTROS CENTROS IMPLICADOS CICLO Grado sin atribuciones
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 detallesDescriptor. Objetivos (1) Objetivos (2)
Descriptor Máquinas secuenciales y autómatas finitos. Gramáticas y lenguajes formales. Construcción de intérpretes y compiladores. Créditos teóricos: 4,5. Créditos prácticos: 4,5. ALeF. Presentación de
Más detallesMás sobre gramáticas independientes de contexto o incontextuales
Más sobre gramáticas independientes de contexto o incontextuales Elvira Mayordomo, Gregorio de Miguel Universidad de Zaragoza 19 de noviembre de 2012 Contenido de este tema Árboles de derivación Gramáticas
Más detallesB b A. Notar que las gramáticas utilizadas son sin recursión por la izquierda:
Definición: Una Gramática Libre de Contexto (GLC) está en Forma Normal de Greibach (FNG) si todas las producciones son de la forma: A ab 1 B 2.. B k Donde A es un símbolo no Terminal, a es un símbolo Terminal
Más detallesConversión de Gramáticas Libres de Contexto. EQUIPO 6 Jardón Jara Micheelle Enrique Perfecto Espinosa Valeria
Conversión de Gramáticas Libres de Contexto EQUIPO 6 Jardón Jara Micheelle Enrique Perfecto Espinosa Valeria Objetivo Desarrollar el tema de Conversión de Gramáticas Libres de Contexto (GLC): Algoritmos
Más detallesUniversidad Ricardo Palma Facultad de Ingeniería
Universidad Ricardo Palma Facultad de Ingeniería Escuela de Ingeniería Informática SILABO 1. INFORMACIÓN GENERAL Asignatura : Lenguajes y Compiladores Ciclo : 8vo. Área : Computación Código : II0803 Condición
Más detallesPrograma de la asignatura Curso: 2008 / 2009 AUTÓMATAS Y LENGUAJES FORMALES (1314)
Programa de la asignatura Curso: 2008 / 2009 AUTÓMATAS Y LENGUAJES FORMALES (1314) PROFESORADO Profesor/es: CÉSAR IGNACIO GARCÍA OSORIO - correo-e: cgosorio@ubu.es FICHA TÉCNICA Titulación: INGENIERÍA
Más detallesProcesadores de lenguaje Tema Análisis sintáctico (Parte II)
Procesadores de lenguaje Tema 3 Análisis sintáctico (Parte II) Salvador Sánchez, Daniel Rodríguez Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Análisis sintáctico ascendente
Más detallesSe pueden agrupar las reglas que tienen la misma parte izquierda:
GRAMÁTICA DE CONTEXTO LIBRE Gramática de contexto libre G = (V N, V T, P, S) que genera oraciones copulativas: V N = { , , , , V T = {el, la, hombre, niña,
Más detallesLa Forma Normal de Chomsky
La s Polinomiales para el Problema de la Palabra en CFL Universidad de Cantabria Esquema 1 2 3 Hemos visto hasta aquí como demostrar si una palabra esta dentro de un lenguaje libre de contexto (CFL). El
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 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 detallesAnalizador Sintáctico Ascendente
Analizador Sintáctico Ascente Un Analizador Sintáctico (A. St.) Ascente construye el árbol desde las hojas hacia la raíz. Funciona por reducción-desplazamiento, lo cual quiere decir que, siempre que puede,
Más detallesTexto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007.
Universidad de Puerto Rico Recinto de Mayagüez Facultad de Artes y Ciencias DEPARTAMENTO DE CIENCIAS MATEMÁTICAS Programa de Autómata y Lenguajes Formales Curso: Autómata y Lenguajes Formales Codificación:
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 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 detallesTeoría de Lenguajes. Clase Teórica 1 Gramáticas y Jerarquía de Chomsky. Primer cuartimestre 2016
Teoría de Lenguajes Clase Teórica 1 ramáticas y Jerarquía de Chomsky Primer cuartimestre 2016 Material compilado por Julio Jacobo a lo largo de distintas ediciones de la materia Teoría de Lenguajes en
Más detallesProcesadores de lenguaje
Recursivad: ejercicios Obtener las gramáticas que producen: Procesadores de lenguaje jercicios de análisis sintáctico Departamento de Ciencias de la Computación Universad de Alcalá 1. Una o más aes con
Más detallesTeoría de Autómatas y Lenguajes Formales.
Teoría de Autómatas y Lenguajes Formales Prueba de Evaluación de Lenguajes y Gramáticas Autores: Araceli Sanchis de Miguel Agapito Ledezma Espino Jose A. Iglesias Martínez Beatriz García Jiménez Juan Manuel
Más detallesUniversidad Nacional del Santa Facultad de Ingeniería E.A.P. de Ingeniería de Sistemas e Informática TEORIA DE COMPILADORES ANALISIS SINTACTICO
ANALISIS SINTACTICO Análisis Sintáctico Descendente Análisis Sintáctico Ascendente EOF y α S (axioma inicial). 2. : la cadena de entrada no es válida. 3. : consiste en aplicar
Más detallesGramá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 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 detalles