Autómatas de Pila (Pushdown Automatón)

Slides:



Advertisements
Presentaciones similares
Introducción ¿Qué es un Algoritmo?
Advertisements

GRAMATICA LIBRE DE CONTEXTO
Ejemplo Práctico de un Compilador Pequeño
INSTITUTO TECNOLÓGICO DE MINATITLÁN
Gramáticas, lenguajes y reconocedores
Gramáticas Libres de Contexto
Autómatas de pila (Pushdown automata)
Gramáticas.
Máquinas de Turing (MT)
Autómata Finito Un autómata finito (AF) es un modelo de computación muy restringido, sin embargo tiene una gran aplicación en reconocimiento de patrones.
TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY
Tema: Decibilidad Integrantes: Ileana Rdguez Soto
¿Cómo hacer para que una máquina comprenda el LN?
Introducción a la máquina
La maquina de Turing La máquina de Turing es una caja negra (tan simple como una máquina de escribir y tan compleja como un ser humano) capaz no sólo de.
Computabilidad.
ANALIZADOR SINTACTICO
2º curso Ingeniería Técnica en Informática de Sistemas UNED
5. Propiedades de los Lenguajes Recursivamente
Tema 2 Autómatas finitos 1. Autómata finito determinista
4. Máquinas de Turing 4.1. Modelo básico.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
3. INTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓN
2º curso Ingeniería Técnica en Informática de Sistemas UNED
DSUPE Pseudocódigo.
CLASIFICACION DE LAS MAQUINAS DE TURING
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.
Representaciones de conjuntos y funciones Roberto Moriyón.
Teoría de lenguajes y compiladores
Conceptos Fundamentales
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.
Análisis sintáctico LR: SLR (LR simple)
Autómatas de Pila Teoría del Autómata.
ANALISIS SINTACTICO Parte I
Aplicación de estructuras de datos
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.
AUTOMATAS.
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.
Teoría de Autómatas I 2º curso Ingeniería Técnica en Informática de Sistemas UNED.
MÁQUINAS DE TURING Teoría del Autómata.
Universidad Autónoma San Francisco CARRERA PROFESIONAL: Lengua, Traducción e Interpretación Asignatura: MATEMÁTICA Tema: “SISTEMA FORMAL”
Teoría de lenguajes y compiladores
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Problemas de grafos y Tratabilidad Computacional
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ÓMATA LINEALMENTE ACOTADO
Términos algoritmo diseñar algoritmo implementar algoritmo
PENSAMIENTO ANALÍTICO SISTÉMICO ARTICULADORA: CLAUDIA MARIA RESTREPO P.
Teoría de lenguajes y compiladores
I.- ESTUDIO DE LOS LENGUAJES DE PROGRAMACIÓN.
Presente un cuestionario con los aspectos mas importantes sobre los
2.1 DEFINICIONES CARACTERÍSTICAS Y SUPOSICIONES.
IV. GRAMÁTICAS DISTRIBUIDAS Y TABLAS DE SÍMBOLOS
Conceptos Generales Programación I Docente: Ing. Marleny Soria M.
Semana #8 Kathryn Jones Pérez A Analizadores sintácticos LR Existen tres técnicas para construir tablas de análisis sintáctico LR para una gramática.
Programación de Sistemas
SISTEMA DE NUMERACIÓN. ¿Qué es un sistema de numeración? Conjunto de símbolos y reglas que permiten representar datos numéricos. La principal regla es.
Teoría de Autómatas I 2º curso Ingeniería Técnica en Informática de Sistemas UNED.
Programación I Docente: Ing. Marleny Soria M..  Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar.
República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Superior Universidad Valle del Momboy Carvajal, Trujillo Alumnas Luzmila.
Curso: Fundamentos de Computación
Conceptos Generales PROGRAMACIÓN I DOCENTE: ING. MARLENY SORIA M. 1.
El microprocesador y su arquitectura
Sintaxis y Semántica. S.Takahashi Fases en el proceso de análisis de lenguajes Lexer Parser caracteres tokensrespuesta.
Equipo de Profesores del Curso. Funciones de Texto.
Centro Universitario Valle de México Gramáticas Libres de Contexto Dra. Maricela Quintana López Elaborado por: Autómatas y Lenguajes Formales.
Transcripción de la presentación:

Autómatas de Pila (Pushdown Automatón) UNAD

LENGUAJES, GRAMÁTICAS Y AUTÓMATAS Lenguajes naturales y lenguajes artificiales. Conjunto de palabras (cadenas o sentencias) que están formadas por símbolos de un alfabeto. Lenguajes formales (reglas) y naturales (evolucionan). Gramática da cuenta de la estructura de un lenguaje. Gramática formal establece las REGLAS que rigen un lenguaje formal. Una máquina abstracta o autómata es un dispositivo teórico capaz de recibir y transmitir información. Esta máquina reconoce o genera un lenguaje formal de acuerdo a una gramática formal establecida.

Conexiones entre lenguaje, gramática y autómata describe genera reconoce equivale

Relación entre Lenguaje, Gramática y Autómata Máquina Tipo 0: Gramática sin Restricciones Recursivamente enumerable / Sin restricciones Máquina de Turing Tipo 1: Gramática Sensible al Contexto Dependiente del Contexto Autómata Linealmente Acotado (ALA) Tipo 2: Gramática de Libre Contexto Independiente del Contexto Autómata a Pila (AP) Tipo 3: Gramática Regular Regular Autómata Finito (AF)

Gramática Libre de Contexto Una gramática libre de contexto en lingüística e informática es una gramática formal en la que cada regla de producción es de la forma: V → w Donde V es un símbolo no terminal y w es una cadena de terminales y/o no terminales. El término libre de contexto se refiere al hecho de que el no terminal V puede siempre ser sustituido por w sin tener en cuenta el contexto en el que ocurra. Un lenguaje formal es libre de contexto si hay una gramática libre de contexto que lo genera. Las gramáticas libres de contexto permiten describir la mayoría de los lenguajes de programación, de hecho, la sintaxis de la mayoría de lenguajes de programación está definida mediante gramáticas libres de contexto.

Gramática Independientes de Contexto

Autómata de Pila Este modelo posee dos cintas con celdas iniciales a la izquierda e infinitas celdas a la derecha. Una de sus cintas es para almacenar los símbolos de entrada o palabra a ser analizada y solo se realizan lecturas sobre ella. La otra cinta funciona como una pila (primer símbolo en entrar, último en salir) sobre ella se introducen y extraen símbolos especiales, a partir de un cabezal de lectura / escritura. Los cabezales están vinculados a una unidad de control.   Inicialmente la cinta de entrada contiene blancos, al igual que la cinta de tipo pila. Se coloca los símbolos que representan la palabra a ser analizada a partir del extremo izquierdo de la cinta de entrada. El cabezal de la cinta de entrada se encuentra, como Estado Inicial sobre el primer símbolo del extremo izquierdo. El cabezal de la cinta de tipo pila se posiciona sobre el tope de la pila o extremo izquierdo de la misma.

En primer Lugar el lenguaje de los paréntesis bien balanceados, que se sabe es propiamente un LLC (lenguaje Libre de contexto,Qué máquina se requiere para distinguir las palabras de paréntesis bien balanceados de las que tienen los paréntesis desbalanceados? Una primera idea podría ser la de una máquina que tuviera un registro aritmético que le permitiera contar los paréntesis; dicho registro sería controlado por el control finito, quien le mandaría símbolos I para incrementar en uno el contador y D para decrementarlo en uno. A su vez, el registro mandaría un símbolo Z para indicar que está en cero, o bien N para indicar que no está en cero. Entonces para analizar una palabra con paréntesis lo que haríamos sería llevar la cuenta de cúantos paréntesis han sido abiertos pero no cerrados; en todo momento dicha cuenta debe ser positiva o cero, y al final del cálculo debe ser exactamente cero. Por ejemplo, para la palabra (())() el registro tomaría sucesivamente los valores 1, 2, 1, 0, 1, 0. Como segundo ejemplo, considérese el lenguaje de los palíndromos (palabras que se leen igual al derecho y al revés, como ANITALAVALATINA). Aquí la máquina contadora no va a funcionar, porque se necesita recordar toda la primera mitad de la palabra para poder compararla con la segunda mitad. Más bien pensaríamos en una máquina que tuviera la capacidad de recordar cadenas de caracteres arbitrarias, no números.

Ejercicios en JFlap