Compiladores. Análisis Sintáctico Ascendente. Adrian Ulises Mercado Martínez. Facultad de Ingeniería, UNAM. 5 de septiembre de 2013

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Compiladores. Análisis Sintáctico Ascendente. Adrian Ulises Mercado Martínez. Facultad de Ingeniería, UNAM. 5 de septiembre de 2013"

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 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 detalles

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 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 detalles

Lenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores

Lenguajes 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 detalles

Controla el flujo de tokens reconocidos por parte del analizador léxico. 4.2 Introduccion a las gramaticas libres de contexto y arboles de derivacion

Controla 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 detalles

GRAMATICAS LIBRES DEL CONTEXTO

GRAMATICAS 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 detalles

GRAMÁTICAS LIBRES DE CONTEXTO

GRAMÁ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 detalles

Proyecto Intermedio Algoritmo de Earley

Proyecto 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 detalles

Conceptos básicos sobre gramáticas

Conceptos 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 detalles

Compiladores: 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. 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 detalles

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 3.

UNIVERSIDAD 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 detalles

INTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES LENGUAJES FORMALES

INTRODUCCIÓ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 detalles

Lenguajes y Compiladores Aspectos Formales (Parte 1) Compiladores

Lenguajes 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 detalles

Lenguajes y Compiladores Análisis Sintáctico Parte I. Teoría Lenguajes 1

Lenguajes 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 detalles

LENGUAJES Y GRAMÁTICAS

LENGUAJES 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 detalles

Computabilidad 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) 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 detalles

Las Gramáticas Formales

Las 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 detalles

ANÁLISIS SINTÁCTICO I GRAMÁTICAS

ANÁ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 detalles

16 Análisis sintáctico I

16 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 detalles

CAPITULO 5: GRAMÁTICAS

CAPITULO 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 detalles

Clase 14: Gramáticas libres de contexto

Clase 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 detalles

Sintaxis y Semántica. Tema 3. Sintaxis y Semántica. Expresiones y Lenguajes Regulares. Dr. Luis A. Pineda ISBN:

Sintaxis 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 detalles

22, 23 y 24 Análisis sintáctico V Compiladores - Profr. Edgardo Adrián Franco Martínez

22, 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 detalles

Compiladores: 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. 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 detalles

18 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

18 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 detalles

Procesadores de Lenguaje

Procesadores 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 detalles

Gramáticas libres de contexto

Gramá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 detalles

Definición de la sintaxis (1) Definición de la sintaxis (2) Definición de la sintaxis (3)

Definició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 detalles

ANÁLISIS SINTÁCTICO I ANALIZADORES SINTÁCTICOS

ANÁ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 detalles

Ciencias de la Computación I

Ciencias 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 detalles

ANÁLISIS LÉXICO EXPRESIONES REGULARES

ANÁ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 detalles

Lección 3: Fundamentos para el análisis sintáctico

Lecció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 detalles

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN

NOTAS 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 detalles

La Ambigüedad en el Parsing

La 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 detalles

Clase 15: GLC s limpias y bien formadas

Clase 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 detalles

Procesadores de Lenguaje

Procesadores 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 detalles

Analizadores sintácticos LR(0) y SLR

Analizadores 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 detalles

Tipos de análisis deterministas. Análisis descendente. Tipos de análisis deterministas. Análisis ascendente. Análisis descendente

Tipos 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 detalles

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes.

UNIVERSIDAD 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 detalles

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Fundamentos 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 detalles

Tema 3. Análisis sintáctico descendente

Tema 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 detalles

Lenguajes Incontextuales

Lenguajes 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 detalles

YACC (Yet Another Compiler Compiler) LALR(1) Parser Generator

YACC (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 detalles

Las Gramáticas LL. Gramáticas con Parsing Eficiente. Universidad de Cantabria

Las 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 detalles

Lenguajes, Gramáticas y Autómatas Conceptos

Lenguajes, 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 detalles

El proceso del Análisis Léxico

El 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 detalles

Tema 1. Introducción

Tema 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 detalles

Unidad IV Análisis Sintáctico. M.C. Juan Carlos Olivares Rojas

Unidad 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 detalles

ANÁLISIS SINTÁCTICO I ANÁLISIS SINTÁCTICO DESCENDENTE LL(1)

ANÁ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 detalles

Agenda. 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 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 detalles

El análisis descendente LL(1) 6, 7 y 13 de abril de 2011

El 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 detalles

Clase 11: Gramáticas. Solicitado: Ejercicios 09: Gramáticas

Clase 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 detalles

Lenguajes y Gramáticas

Lenguajes 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. 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 detalles

Aná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 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 detalles

Análisis sintáctico Analizadores descendentes

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 detalles

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS

PROGRAMACIÓ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 detalles

Gramaticas Independientes del Contexto, ejemplos y ejercicios

Gramaticas 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 detalles

1.-DEFINE EN QUE CONSISTEN LAS GRAMÁTICAS LIBRES DE CONTEXTO

1.-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 detalles

Curso Básico de Computación

Curso 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 detalles

PRACTICA 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 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 detalles

INAOE. Gramáticas Libres de Contexto. Definición formal de CFGs. Derivaciones usando. Derivaciones. izquierda y. derecha.

INAOE. 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 detalles

Tema: Análisis Sintáctico

Tema: 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 detalles

Procesadores de lenguaje Tema Análisis sintáctico (Parte I)

Procesadores 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

Procesadores de lenguaje Tema 3 Análisis sintáctico (Parte I)

Procesadores 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 detalles

Compiladores: 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. 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 detalles

ESPECIFICACIÓN DE SÍMBOLOS

ESPECIFICACIÓ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 detalles

Curso Básico de Computación Preliminares

Curso 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 detalles

Capítulo 9. Introducción a los lenguajes formales. Continuar

Capí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 detalles

Modelos De Computación. Guía Modelos de Computación. Tema I: Lenguajes y Gramáticas

Modelos 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 detalles

Alfabetos, cadenas y lenguajes

Alfabetos, 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 detalles

Tema 5. Análisis sintáctico ascendente

Tema 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 detalles

Clase 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 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 detalles

ANÁLISIS SINTÁCTICO. Comprobar que la secuencia de componentes léxicos cumple las reglas de la gramática Generar el árbol sintáctico

ANÁ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 detalles

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales

Teorí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 detalles

DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES

DEFINICIONES 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 detalles

Procesadores de Lenguajes. Análisis sintáctico. Analizadores descendentes

Procesadores 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 detalles

Análisis sintáctico 1

Aná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 detalles

LENGUAJES Y GRAMÁTICAS

LENGUAJES 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 detalles

06 Análisis léxico II

06 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 detalles

Coordinació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 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 detalles

Elementos para el estudio de los compiladores

Elementos 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 detalles

CAPITULO 2: LENGUAJES

CAPITULO 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 detalles

Má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 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 detalles

SSL Guia de Ejercicios

SSL 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 detalles

UNIVERSIDAD 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 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 detalles

Unidad I: Análisis semántico

Unidad 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 detalles

Compiladores: 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 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 detalles

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto

Ingenierí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 detalles

07 Análisis léxico III

07 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 detalles

Gramáticas de Atributos

Gramá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 detalles

Programación II Sesión 2: Especificación de problemas

Programació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 detalles

Tema 2 Gramáticas y Lenguajes Libres de Contexto

Tema 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 detalles

10 Análisis léxico VI Compiladores - Profr. Edgardo Adrián Franco Martínez

10 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 detalles

Nombre 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: 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 detalles

Apuntes de compiladores

Apuntes 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 detalles

Tema: Autómata de Pila

Tema: 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 detalles

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo:

No 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 detalles

Unidad III Análisis Léxico. M.C. Juan Carlos Olivares Rojas

Unidad 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 detalles

Clase 03: Alfabetos, símbolos y cadenas

Clase 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 detalles

Lenguajes Libres del Contexto

Lenguajes 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