REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION SUPERIOR UNIVERSIDAD VALLE DEL MOMBOY CARVAJAL EDO. TRUJILLO ENERO 2014.

Slides:



Advertisements
Presentaciones similares
ÁRBOLES DE SINTAXIS ÁRBOL grafo dirigido acíclico.
Advertisements

GRAMATICA LIBRE DE CONTEXTO
INSTITUTO TECNOLÓGICO DE MINATITLÁN
Filminas Segunda semana
Clasificación de los compiladores
Compiladores e intérpretes Análisis Sintáctico II
Compiladores e intérpretes
Gramáticas Libres de Contexto
Conceptos básicos Def. Un símbolo es cualquier carácter imprimible.
Gramáticas.
Análisis Lexicográfico
¿Compilador ? Es un traductor que convierte un texto escrito en un lenguaje fuente y lo traduce a un programa objeto en código máquina.
Teoría de Autómatas y Compiladores
Procesadores de Lenguaje
Tema 2.- Gramáticas independientes de contexto.
Tema 3 Propiedades de los lenguajes independientes de contexto
¿Cómo hacer para que una máquina comprenda el LN?
ANALIZADOR SINTACTICO
Unidad 2. Análisis léxico
Unidad 3. Análisis Sintáctico
Expresiones regulares
Tema 2 Autómatas finitos 1. Autómata finito determinista
Tema 1.- Lenguajes. Gramáticas
Traducción dirigida por la Sintaxis
ANALISIS SINTACTICO DESCENDENTE
Teoría de lenguajes y compiladores
EL SOFTWARE EDUCATIVO REPÚBLICA BOLIVARIANA DE VENEZUELA
ÁRBOLES DE EXPRESION.
ANALISIS SINTACTICO El análisis gramatical es la tarea de determinar la sintaxis, o estructura, de un programa. Por esta razón también se le conoce como.
Teoría de lenguajes y compiladores
Analizador Sintáctico Descendente
Tema 1.- Lenguajes. Gramáticas
Tema 2 Lenguajes Formales.
Introducción a la Teoría de Lenguajes Preparado por Manuel E. Bermúdez, Ph.D. Profesor Asociado University of Florida Curso de Compiladores.
Programación de sistemas
Análisis sintáctico LR: SLR (LR simple)
2º curso Ingeniería Técnica en Informática de Sistemas UNED
Teoría de lenguajes y compiladores
Lenguajes Independientes del Contexto
M.C. Juan Carlos Olivares Rojas
Autómatas de Pila Teoría del Autómata.
Definition Type Document (DTD)
ANALISIS SINTACTICO Parte I
Clasificación de Gramáticas y Manejo de Errores
ESTRUCTURA DE DATOS ESD-243
Teoría de lenguajes y compiladores
Todo traductor esta basado en una gramática para el lenguaje fuente. Todo traductor esta basado en una gramática para el lenguaje fuente. Una gramática.
Introducción al Análisis Sintáctico
Tema 2 Autómatas finitos 1. Autómata finito determinista
Lenguajes regulares Teoría del Autómata.
Teoría de lenguajes y compiladores Analizadores lexicográficos
Programación de Sistemas
Compiladores e intérpretes
Análisis Léxico Área Software de Base.
Precedencia y asociatividad de operadores
Introducción a la programación
UNIVERSIDAD VALLE DEL MOMBOY FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN CATEDRA: EDUMATICA Br: JENNY CORONADO C.I
Programación de Sistemas FEI – 2008
1 AFDAFN AF Gramáticas lineales derecha Expresiones regulares Tema 2 Método de los AF Método de las derivadas Sistemas de Ecuaciones Tema 1.
UNIVERSIDAD LATINA (UNILA)
1 Sebastián Argüello A60490 semana 3 Autómatas y compiladores CI-1322.
Teoría de lenguajes y compiladores
Teoría de lenguajes y compiladores
I.- ESTUDIO DE LOS LENGUAJES DE PROGRAMACIÓN.
El proceso de compilación
IV. GRAMÁTICAS DISTRIBUIDAS Y TABLAS DE SÍMBOLOS
Programación de Sistemas
República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Superior Universidad Valle del Momboy Carvajal, Trujillo Alumnas Luzmila.
Unidad 2 Lenguajes, Expresiones Regulares, Autómatas
Sintaxis y Semántica. S.Takahashi Fases en el proceso de análisis de lenguajes Lexer Parser caracteres tokensrespuesta.
Transcripción de la presentación:

REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION SUPERIOR UNIVERSIDAD VALLE DEL MOMBOY CARVAJAL EDO. TRUJILLO ENERO 2014 INTEGRANTES: Pérez Iván Linares Jorge Ocanto Laura Vivas Abel Mendez Isaac

Gramáticas ¿Qué es una GRAMÁTICA? Modelo de estructuras recursivas. Definición de reglas para representar las expresiones de los lenguajes. Especificación rigurosa y explicita de estructura de un lenguaje. Características: Ausencia de ambigüedad, por tanto bien definidas. Rigurosas (claridad, explicitud). Facilitan evaluación: comprobar, conclusiones, derivar. Hacer predicciones: generalización. Desarrollo de aplicaciones.

Las Gramáticas Están formadas por cuatro componentes: Una gramática G= (ΣT, ΣNT, S 0, P) ΣT - un conjunto de símbolos terminales ΣNT - un conjunto de símbolos no terminales (variables) P - un conjunto de reglas de producción S 0 ∈ ΣNT un símbolo no terminal de ΣNT

Representación de una Gramática: Barra disyuntiva ‘ I ‘ Paréntesis de opcionalidad (..) El signo mas de recursividad (+) El asterisco (*)

Derivación de una Gramática: Derivación Derivación más a la izquierda Derivación más a la derecha

Ejercicios: Producciones: lista lista + digito lista lista – digito lista digito digito 0|1|2|3|4|5|6|7|8|9 Construya una gramática independiente del contexto para una lista de dígitos separados por signos, realice una derivación más hacia la derecha para el caso: 4+7-3

Ejercicio Realice una derivación por la izquierda para la cadena: dado el siguiente conjunto de producciones: Producciones: X → A1B A → 0A │ϵ B → 0B │1B │ϵ

ÁRBOLES DE ANÁLISIS SINTÁCTICO Un árbol de análisis sintáctico indica gráficamente como del símbolo inicial de una gramática deriva una cadena del lenguaje.

L = {id + id * id} G = {S, P, NT, T} ÁBOLES DE ANÁLISIS SINTÁCTICO

PROPIEDADES DE UN ÁRBOL DE ANÁLISIS SINTÁCTICO La raíz está etiquetada con el símbolo inicial {S}. Cada hoja está con un componente léxico {a,b,c,+,-,*,1,2,5}. Cada nodo interior está etiquetado con un no terminal {A,V,D,B,F}.

Ambigüedad de las gramáticas Una gramática es ambigua si permite construir dos o mas arboles de derivación distintos para la misma cadena, para demostrar que la gramática es ambigua lo único que se necesita es encontrar una cadena que tenga mas de un árbol de derivación. La multiplicidad de derivaciones no es la causa de la ambigüedad. La causa es la existencia de 2 o mas árboles de derivación para una cadena.

Ambigüedad de las gramáticas La ambigüedad no se puede detectar mediante algún proceso mecánico. No se respeta la presencia de los operadores, necesitamos forzar que la estructura sea única. No se tiene una convención (izquierda o derecha) para agrupar operadores idénticos (E + E * E), la convención es por la izquierda.

Ambigüedad de las gramáticas. EXISTE AMBIGUEDAD Una gramática es ambigua si tiene al menos una cadena w que tenga más de un árbol de derivación (o mas de una derivación izquierda o mas de una derivación derecha).

Ambigüedad Inherente

Una técnica que puede eliminar la ambigüedad, consiste en introducir nuevas variables con el nivel de agrupamiento siguiente: 1- F Factor -Identificador -Expresión con paréntesis No puede separase con * ò + 2- T Término -productos de 2 ò más factores. No puede separase con E Expresión cualquier cosa. S→ S+S | S ∗ S | (S) | id, puede sustituirse por su equivalente no ambígua: S → S + T | T S→ S+S | S ∗ S | (S) | id, puede sustituirse por su equivalente no ambígua: S → S + T | T

Expresiones regulares La mayoría de las formalizaciones proporcionan los siguientes constructores: una expresión regular es una forma de representar a los lenguajes regulares (finitos o infinitos) y se construye utilizando caracteres del alfabeto sobre el cual se define el lenguaje. Las expresiones regulares proveen una manera muy flexible de buscar o reconocer cadenas de texto. Expresión Regular Específicamente, las expresiones regulares se construyen utilizando los operadores unión, concatenación y cerradura de Kleene.

Tipos Alternación Una barra vertical separa las alternativas. Ej: “marrón|castaño” Cuantificación Un cuantificador tras un carácter especifica la frecuencia con la que éste puede ocurrir. Ej: “ + ”, “ ? ”, “ * ” Agrupación Los paréntesis pueden usarse para definir el ámbito y precedencia de los demás operadores. Por ejemplo, "(p|m)adre" es lo mismo que "padre|madre", y "(des)?amor" se corresponde con amor y con desamor.

Tabla de Operadores