GRAMATICA LIBRE DE CONTEXTO LENGUAJE LIBRE DE CONTEXTO Marcela Hernandez.

Slides:



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

GRAMATICA LIBRE DE CONTEXTO
INSTITUTO TECNOLÓGICO DE MINATITLÁN
Compiladores e intérpretes
Gramáticas Libres de Contexto
Autómatas de pila (Pushdown automata)
Gramáticas.
TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY
Tema 2.- Gramáticas independientes de contexto.
¿Cómo hacer para que una máquina comprenda el LN?
ANALIZADOR SINTACTICO
ANALISIS SINTACTICO DESCENDENTE
2º curso Ingeniería Técnica en Informática de Sistemas UNED
Teoría de lenguajes y compiladores
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.
Lenguajes Independientes del Contexto
Autómatas de Pila Teoría del Autómata.
Gramáticas Otoño2012. Importancia de las gramáticas 2 Son una herramienta muy poderosa para describir y analizar lenguajes.
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.
Teoría de lenguajes y compiladores Analizadores lexicográficos
Teoría de Autómatas I 2º curso Ingeniería Técnica en Informática de Sistemas UNED.
COMPUTABILIDAD Y COMPLEJIDAD 1. Conceptos básicos (revisión). 2. Gramáticas independientes de contexto. 3. Propiedades de los lenguajes independientes.
Teoría de lenguajes y compiladores
Teoría de Autómatas y Lenguajes Formales Informática Técnica de Gestión ESCUELA SUPERIOR DE INFORMATICA Universidad de Castilla-La Mancha Tema 1. Introducción.
Autómatas de Pila (Pushdown Automatón)
Gramáticas Otoño2012. Importancia de las gramáticas 2 Son una herramienta muy poderosa para describir y analizar lenguajes.
Teoría de lenguajes y compiladores
I.- ESTUDIO DE LOS LENGUAJES DE PROGRAMACIÓN.
Unidad 3 Analizador Sintáctico
IV. GRAMÁTICAS DISTRIBUIDAS Y TABLAS DE SÍMBOLOS
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION SUPERIOR UNIVERSIDAD VALLE DEL MOMBOY CARVAJAL EDO. TRUJILLO ENERO 2014.
República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Superior Universidad Valle del Momboy Carvajal, Trujillo Alumnas Luzmila.
Centro Universitario Valle de México Gramáticas Libres de Contexto Dra. Maricela Quintana López Elaborado por: Autómatas y Lenguajes Formales.
Las tres primeras fases de un compilador suelen agrupan en un sola fase llamada Análisis del programa a compilar y las tres ultimas en una sola fase llamada.
Autómatas finitos (AF) Los AF constan de 5 elementos fundamentales AF=( , E, F, s,  ).  Un alfabeto (  )  Un conjunto de estados (E)  Un conjunto.
Traducción dirigida por la Sintaxis Teoría de Autómatas y Lenguajes Formales Alma María Pisabarro, 2007.
1 Autómatas de pila (Pushdown automata). 2 Autómata de conteo Autómata finito determinista con un contador de enteros o “bolsa” en la que se colocan o.
Ingreso , proceso y salida de datos
Montículos Binarios (Binary Heaps)
TAD’s ARBOLES GENERALIZADOS
Computación Valeria Herskovic –
Básicos de Autómatas.
ALGORITMOS Por Carolina R.
AUTOMATAS Y LENGUAJES FORMALES FASE 1
CREAR DIAGRAMA DE FLUJO
MATEMÁTICA DISCRETA Y LÓGICA 1
Tipos de Datos abstractos
PROGRAMACION DINAMICA
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
Algoritmo Capitulo Cinco.
AUTOMATAS FINITOS DETERMINISTICOS
CONCEPTOS PRELIMINARES (Cont)
Compiladores Introducción al Análisis Sintáctico Gramáticas de Contexto Libre, Arboles de Parseo y Derivaciones.
ÁRBOLES ESTRUCTURA DE DATOS II ING. CARLOS ALBERTO PULLAS.
APLICACIONES DE LA LINGÜÍSTICA COMPUTACIONAL (III)
Tema 2 Autómatas finitos 1. Autómata finito determinista
Funciones del Analizador Sintáctico
Árboles Binarios de Búsqueda (ABB)
Compiladores Introducción al Análisis Sintáctico Gramáticas de Contexto Libre, Arboles de Parseo y Derivaciones.
ISIV - Desarrollo de Sistemas I1 Diagramas PERT Cálculos y Gráficos.
Escuela Nacional de Antropología e Historia (ENAH)
ÁRBOLES DE EXPRESION. Un árbol de expresión sirve para evaluar expresiones del tipo: (a+b)*c/d Para que un árbol represente una expresión se deben tomar.
Recursividad 1 Análisis de algoritmos. Matrushka La Matrushka es una artesanía tradicional rusa. Es una muñeca de madera que contiene otra muñeca más.
AUTÓMATAS ROHERMY OCHOA V AUTÓMATA FINITO Es un modelo computacional que realiza cómputos en forma automática sobre una entrada para producir.
AUTOMATAS GENERALIDADES AUTOR: MARIA FERNANDA DUARTE PORTUGAL C.I. : ASIGNATURA : ESTRUCTURA DISCRETA Y GRAFOS CARRERA: ING, EN SISTEMAS MAYO 2019.
UNIDAD 1 Análisis semántico 1.1 ARBOLES DE EXPRESIONES.
INTRODUCCION A LOS AUTOMATAS Lic. Luis Enrique hernandez.
Automata de Pila
Transcripción de la presentación:

GRAMATICA LIBRE DE CONTEXTO LENGUAJE LIBRE DE CONTEXTO Marcela Hernandez

Definición informal de Gramática Es el mecanismo empleado para establecer la estructura de un lenguaje, es decir las sentencias que lo forman. Consiste de un conjunto de reglas sintácticas que establecen la forma en la que se pueden combinar los símbolos del alfabeto: ORACION es un SUJETO y un PREDICADO. SUJETO es una FRASE NOMINAL. FRASE NOMINAL es un GRUPO NOMINAL y un CALIFICATIVO que puede o no estar. GRUPO NOMINAL es un ARTICULO que puede no estar y un NOMBRE. CALIFICATIVO es un ADJETIVO o una CONJUNCIÓN y una ORACION. Marcela Hernandez

Gramáticas Formales Gramática regulares. Gramáticas independientes de contexto. Gramáticas sensibles al contexto. Gramática sin restricciones o de estructura de frase. Marcela Hernandez

Tipos de Gramáticas N. Chomsky clasifica las gramáticas en cuatro tipos: Gramáticas sin restricciones o gramáticas de estructura de frases (Tipo 0). Gramáticas sensibles al contexto (Tipo 1). Gramáticas independientes de contexto (Tipo 2). Gramáticas regulares (Tipo 3). Tipo 0 Tipo 1 Tipo 2 Tipo 3 Marcela Hernandez

Tipos de Lenguajes Conforme a la clasificación de N. Chomsky, los lenguajes se clasifican en cuatro tipos: Lenguajes sin restricciones (Tipo 0). Lenguajes sensibles (o dependientes) al contexto (Tipo 1). Lenguajes independientes de contexto (Tipo 2). Lenguajes regulares (Tipo 3). Marcela Hernandez

Teoría de Autómatas - Lenguajes Formales (Máquinas abstractas - Gramáticas Formales) equivale Gramática Lenguajes describe genera Máquina reconoce genera equivale Marcela Hernandez

Teoría de Autómatas - Lenguajes Formales (Máquinas abstractas - Gramáticas Formales) GramáticasLenguajesMáquinas Sin restricciones o de Tipo 0 Máquina de Turing Sensible al contexto o de Tipo 1 Autómata linealmente acotado Libre de contexto o de Tipo 2 Autómata a pila Regular o de Tipo 3 Autómata Finito Marcela Hernandez

GRAMATICA REGULAR Es aquella cuyas reglas de reescritura tienen las siguientes restricciones 1. El lado izq. debe de consistir en un solo no termnial 2. El lado derecho de un terminal o un terminal seguido por un no terminal, o cadena vacia Ej. Z  yX X  y X  λ Marcela Hernandez

 Se interpreta como “puede ser”, “se compone de”, “es sustituida por”. \ Se interpreta como “o”  Se interpreta como “derivar”, “produce” o “genera” Marcela Hernandez

Gramatica independiente del contexto A diferencia de las gramaticas regulares estas gramaticas no tienen reestricciones con respecto al lado derecho de sus reglas de reesritura, aunque se quiere que el lado izq sea un no terminal. S  zMNz M  aMa N  z N  bNb N  z Marcela Hernandez

El termiano independiente del contexto refleja que, como el lado izq de cada regla de reescritura unicamente puede contener un nolo no teminal, la regla puede aplicarse sin importar el contexto donde se encuentre dicho no terminal. Marcela Hernandez

Árbol de derivación Un árbol de análisis sintáctico o árbol de derivación es un árbol cuyos nodos representan terminales y no terminales de la gramática, donde el nodo raíz es el símbolo de inicio y los hijos de cada nodo no terminal son símbolos que remplazan a ese no terminal en la derivación. Ningún símbolo terminal puede ser nodo interior del árbol, ni ningún símbolo no terminal puede ser una hoja. Marcela Hernandez

S MNZ x ZbbXN abxabx S  MNZ M  xZb N  b Z  XN Z  ba X  x N  abx

FORMA NORMAL DE CHOMSKY Si L es un lenguaje independiente del contexto que no tiene la cadena vacia, entonces existe una gramatica G independiente del contexto tal que G(L)=L y el lado derecho de cada regla de reesritura en G consiste en un solo terminal o exactamente dos no teminales. S  XM M  SY X  x Y  y Marcela Hernandez

FORMA NORMAL DE GREIBACH Se dice que una gramática independiente del contexto (GIC) está en Forma normal de Greibach (FNG), si todas y cada una de sus reglas de producción tienen un consecuente que empieza por un carácter del alfabeto, también llamado símbolo terminal. Formalmente, cualquiera de las reglas tendrá la estructura: A − > aw Donde "A" es el antecedente de la regla, que en el caso de las GIC debe ser necesariamente un solo símbolo auxiliar. Por su parte, "a" es el mencionado comienzo del consecuente y, por tanto, un símbolo terminal. Finalmente, "w" representa una concatenación genérica de elementos gramaticales, esto es, una sucesisión exclusivamente de auxiliares, inclusive, pudiera ser la palabra vacía; en este caso particular, se tendría una regla llamada "terminal": A − > a Marcela Hernandez

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  aB1B2…..Bk Donde A es un símbolo no Terminal, a es un símbolo Terminal y B1B2…..Bk son símbolos no Terminales. Ejemplo de FNG: S → aSB | aB B → b Marcela Hernandez

ELIMINACION DE FACTORES COMUNES IZQUIERDOS Marcela Hernandez Se trata de rescribir las producciones de la gramática con igual comienzo para retrasar la decisión hasta haber visto lo suficiente de la entrada como para elegir la opción correcta Procedimiento: Marcela Hernandez A := αβ1 |αβ2 | … | αβn | δi A := αA’ | δi A’ := β1 | β2 | … | βn

ELIMINACION DE RECURSIVIDAD IZQUIERDA Tipos de recursividad Directa. Una gramática G es recursiva si tiene alguna regla de producción que sea recursiva por la izquierda Indirecta. Si, a partir de una forma sentencial que empieza por un no terminal se puede derivar una nueva forma no sentencial donde reaparece al principio el no terminal Marcela Hernandez A := Aα Aα =>* Aβα

Eliminación de la recursividad Directa Indirecta Marcela Hernandez A := Aα | β A := βA’ A’ := αA’ A’ := ε Ordenar No terminales: A1, A2, … An For i := 1 To n Do For j := 1 To i – 1 Do Sustituir cada Ai := Aj β por Ai := α1 β | α2 β | αk β donde Aj := α1 | α2 | … | αk producciones actuales de Aj Eliminar la recursividad directa de Ai

ELIMINACION DE AMBIGÛEDAD Marcela Hernandez

TIPOS DE AMBIGÜEDAD: Dentro del estudio de gramáticas existen dos tipos fundamentales de ambigüedad, los cuales son: Ambigüedad Inherente: Las gramáticas que presentan este tipo de ambigüedad no pueden utilizarse para lenguajes de programación, ya que por más transformaciones que se realicen sobre ellas, NUNCA se podrá eliminar completamente la ambigüedad que presentan. Ambigüedad Transitoria: Este tipo de ambigüedad puede llegar a ser eliminada realizando una serie de transformaciones sobre la gramática original. Una vez que se logra lo anterior, la gramática queda lista para ser reconocida por la mayor parte de los analizadores sintácticos.

Autómata de pila Un autómata con pila o autómata de pila o autómata a pila o autómata apilador es un modelo matemático de un sistema que recibe una cadena constituida por símbolos de un alfabeto y determina si esa cadena pertenece al lenguaje que el autómata reconoce. Marcela Hernandez

Los Autómatas de Pila, que al igual que un Autómata Finito, cuenta con un flujo de entrada y un flujo de control que puede encontrarse en uno de entre un número finito de estados. Uno de estos estados se designa como el inicial y por lo menos un estado de aceptación La principal diferencia es que los Autómatas de pila cuentan justamente con una pila en donde se puede almacenar información para recuperarla más tarde Marcela Hernandez

Características La Pila funciona de manera que el último carácter que se almacena en ella es el primero en salir (ordenLIFO). Un aspecto crucial de la pila es que sólo podemos modificar el “tope” de la pila, que es el extremo por donde entran o salen los caracteres. Los caracteres a la mitad de la pila no son accesibles sin quitar antes los que están encima de ellos La pila tendrá un alfabeto propio que puede o no coincidir con el alfabeto de la palabra de entrada. Esto se justifica porque puede ser necesario introducir en la pila caracteres especiales usados como separadores según las necesidades de diseño del autómata Marcela Hernandez

Principio de Pre Análisis Técnica que permite a los autómatas de pila observar uno o varios símbolos más allá de donde se encuentra la cabeza lectora del autómata, pero sin leerlos realmente. Esta técnica permite superar el no determinismo de algunos autómatas de pila. Marcela Hernandez

LENGUAJES NO REGULARES Existen lenguajes no regulares, estos no pueden ser representados por medio de una expresion ni por un automata. El Lema del bombeo es una técnica utililzada para demostrarlo Marcela Hernandez