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

Documentos relacionados
DATOS DE IDENTIFICACIÓN DEL CURSO

Lenguajes y Compiladores Aspectos Formales (Parte 1) Compiladores

Nombre de la asignatura: Lenguajes y Autómatas I. Créditos: Aportación al perfil

LENGUAJES Y GRAMÁTICAS

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN

TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY

GRAMMAR Aplicación de apoyo para el aprendizaje de los lenguajes formales.

Contenido. Capítulo I Sistemas numéricos 2. Capítulo II Métodos de conteo 40

MODELOS DE COMPUTACIÓN CRISTIAN ALFREDO MUÑOZ ALVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACON PEÑA EDUARDO GONZALES PULGARIN

ALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

El proceso del Análisis Léxico

Tema 1: Introducción. Teoría de autómatas y lenguajes formales I

Procesadores de Lenguaje

1. Define que es un Autómatas finitos determinanticos y cuáles son sus elementos constitutivos (explique cada uno de ellos).

16 Análisis sintáctico I

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I

Teoría de Autómatas y Compiladores [ICI-445] Capítulo 2: Autómatas Finitos

Teoría de autómatas. Un enfoque práctico. Recortables. Thelma Cantú María Gpe. Mendoza

Horas teóricas: Horas practicas: Área de conocimiento a la que pertenece

Introducción: historia de las Ciencias de la Computación. Informática Teórica I: Tema 1

UNIVERSIDAD TECNOLOGICA DE PEREIRA FACULTAD DE INGENIERIAS


UNIVERSIDAD DE GUADALAJARA

Lenguajes y Compiladores Análisis Léxico

Ciencias de la Computación I

Ciencias de la Computación I

Contenido. Capítulo 1. Teoría de conjuntos. 1. Capítulo 2. Lenguaje. 39. Capítulo 3. Lenguajes formales. 55

Tema 1: Introducción

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

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

Introducción a la Lógica y la Computación

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003.

Máquinas de Turing. Gálvez Martínez Ernesto Sánchez Sandoval David Isaac Villegas Rosales Erik Salazar Santiago Juan Carlos

Máquinas de estado finito y expresiones regulares

Conceptos básicos sobre gramáticas

Lenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores

Alfabetos y cadenas (1) Alfabetos y cadenas (2) Lenguajes. Propiedades de la concatenación:

Introducción a la Lógica y la Computación

MÁQUINAS DE TURING CIENCIAS DE LA COMPUTACION I 2009

Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Máquinas de Turing

Maquina de Turing. 5. Fundamentos de algoritmos. Turing TURING TURING 10/08/2010. MI Elizabeth Fonseca Chávez

Tema 1. Introducción

DATOS DE IDENTIFICACIÓN. Materia: Introducción a la teoría de los lenguajes formales Definición de alfabeto ETAPA PREINSTRUCCIONAL

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas

Máquinas de Turing, recordatorio y problemas

Ciencias de la Computación I

Tema: Autómata de Pila

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

14 Lenguajes y gramáticas II

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

Ciencias de la Computación I

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

AUTÓMATAS DE ESTADO FINITO

Texto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007.

Introducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas

Clase 14: Gramáticas libres de contexto

UNIVERSIDAD DE GUADALAJARA

GRAMATICAS LIBRES DEL CONTEXTO

Modelos de Computación. Guía Modelos de Computación. Tema VI: Maquinas De Estado Finito Con Salida

Procesadores de Lenguajes. Análisis sintáctico. Gramáticas libres de contexto

Autómatas Finitos Deterministicos (DFA)

7. Máquinas de Turing.

Autómatas Finitos Deterministicos (DFA)

Carrera: SCM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

TEORIA DE AUTOMATAS.

Coordinación de Ciencias Computacionales INAOE. Teoría de Autómatas y Lenguajes Formales. Temario detallado para examen de ingreso 2012

ANÁLISIS LÉXICO Ing. Ronald Rentería Ayquipa

Universidad Autónoma del Estado de México Licenciatura de Ingeniería en Sistemas Inteligentes 2007 Programa de estudios de la unidad de aprendizaje:

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS. NOMBRE DEL CURSO: Lenguajes Formales y de Programación

NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

8. Complejidad Computacional

Lenguajes (gramáticas y autómatas)

Traductores Push Down

ESCUELA: UNIVERSIDAD DEL ISTMO

Computabilidad y Lenguajes Formales: Autómatas Finitos

MÁQUINAS DE TURING Y LENGUAJES ESTRUCTURADOS POR FRASES

NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación

Lenguajes y Autómatas

UNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA DIRECCION GENERAL DE ASUNTOS ACADEMICOS PROGRAMA DE ASIGNATURA POR COMPETENCIAS I. DATOS DE IDENTIFICACIÓN

Análisis y Diseño de Algoritmos

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

Máquinas de Turing Definición y descripción

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

Autómatas Finitos Deterministicos (DFA) Introducción a la Complejidad Computacional FFHA, Universidad Nacional de San Juan

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO División de Docencia Dirección de Planeación y Desarrollo Educativo

SSL Guia de Ejercicios

Cátedra de Sintaxis y Semántica de Lenguajes

Teoría de Autómatas y Lenguajes Formales.

NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación

Sintaxis y Semántica de los Lenguajes Régimen de Dictado: Cuatrimestral

17 Análisis sintáctico II Compiladores - Profr. Edgardo Adrián Franco Martínez. Gramáticas limpias y bien formadas

Nombre de la asignatura : Lenguajes y Autómatas. Carrera : Ingeniería en Sistemas Computacionales. Clave de la asignatura : SCB- 9324

Clases de complejidad computacional: P y NP

Unidad 4. Autómatas de Pila

Máquinas de Turing. Definición 2

Transcripción:

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 del idioma y como tal consta de todos los símbolos válidos por dicho lenguaje y los métodos para estructurar correctamente cada una de las palabras, frases y oraciones. Esta clase de lenguaje recibe el nombre de lenguaje natural.

Gramáticas y lenguajes formales Lenguaje L (G). Este tipo de lenguaje se basa en la gramática, así como en las reglas o métodos para la creación de palabras propias del lenguaje. Un lenguaje L consiste en una gramática con todos los arreglos que se pueden obtener a partir del estado inicial y las composiciones.

Estructuración de las gramáticas Las gramáticas están integradas por varios elementos que permiten la estructuración de palabras. La gramática es el sistema que permite establecer las reglas que han de aplicarse a un lenguaje.

Clasificación de las gramáticas Se clasifican en: Tipo 0: Si no se pone ninguna restricción a las composiciones de G. Tipo 1: Si para cualquier composición d 1 d 2 de la gramática G, la longitud de símbolos de la izquierda de la composición (d 1 ) es menor o igual a la longitud de símbolos de la derecha (d 2 ). Típo 2: Si el laldo izquierdo de cada composición es un símbolo no terminal y el lado derecho consta de uno o más símbolos terminales y/o no terminales. Tipo 3: Si el lado izquierdo de la composición es un símbolo no terminal y el lado derecho tiene uno o más símbolos, incluyendo a lo más un símbolo no terminal.

Gramáticas regulares Se representan principalmente por medio de autómatas finitos los cuales son elementos generadores de palabras de un lenguaje, en donde una palabra se genera comenzando en el símbolo inicial y terminando como una cadena de símbolos terminales que no contiene ningún símbolo no terminal.

Gramáticas libres de contexto Este tipo de gramáticas son las más usadas en la elaboración de compiladores, traductores e intérpretes, y se pueden representar por medio de árboles de derivación, representación BNF y diagramas sintácticos.

Representación mediante árboles de derivación El procedimiento para determinar si una palabra pertenece a un lenguaje por el método de árboles de derivación es semejante al desarrollado por medio de composiciones, sólo que en este caso se estructura un árbol teniendo como raíz de ese árbol al símbolo inicial s y colocando como hijos a los signos del lado derecho de la composición.

Representación BNF (Backus-Naur) Se mencionó con anterioridad que la gramática libre de contexto se utiliza con frecuencia para la representación de lenguajes formales como C, Pascal, Basic, etc. La representación BNF es un buen ejemplos. En la gramática BNF la flecha ( ) de una composición se indica con ::=.

Diagramas sintácticos Esta es una forma gráfica para representar una gramática por medio de gráficas dinámicas que permiten determinar en forma más ilustrativa si una palabra pertenece a un lenguaje; a esta gráfica se le conoce como diagrama sintáctico o diagrama de sintaxis. Toda palabra reservada de un lenguaje formal es susceptible de ser representada por medio de diagramas sintácticos.

Autómatas finitos Todo proceso que recibe una o varias entradas, que transforma estas entradas y después emite una salida recibe el nombre de sistema. Los autómatas finitos también reciben como entrada información que procesan y en función de ello emiten una salido. Un autómata finito recibe una palabra, la cual debe procesar por medio de un recorrido a través de los diferentes estados que integran el autómata.

Autómatas finitos Todo proceso que recibe una o varias entradas, que transforma estas entradas y después emite una salida recibe el nombre de sistema. Los autómatas finitos también reciben como entrada información que procesan y en función de ello emiten una salido. Un autómata finito recibe una palabra, la cual debe procesar por medio de un recorrido a través de los diferentes estados que integran el autómata.

Terminología básica Las gramáticas regulares son parte esencial de los lenguajes regulares. Los autómatas finitos son una representación gráfica de los lenguajes regulares. Una palabra que pertenece a un lenguaje realmente es una cadena de símbolos o caracteres y por eso la relación que existe entre símbolos, cadenas, lenguajes, alfabetos y gramáticas es importante.

Lenguajes regulares Con el alfabeto es posible formar una gran cantidad de lenguajes, pero no existe un método efectivo para saber cuántos de ellos son regulares. Todos los lenguajes sobre son sublenguajes del lenguaje universo *, en lugar de ellos se utilizarán algunas propiedades de los lenguajes para determinar cuales de ellos son regulares.

Expresiones regulares Es una nueva forma de expresar los lenguajes regulares y tiene como finalidad facilitar la manipulación y simplificación de los mismos.

Diagrama de transición En los diagramas de transición; los estados se representan por medio de un círculo con el nombre del estado dentro de ella. Los estados de aceptación o finales se distinguen porque tienen doble círculo, las transiciones se representan por aristas y se etiquetan con un símbolo del alfabeto. El estado inicial se distingue porque se hace incidir sobre él una flecha.

Autómatas finitos determinísticos Se dice que un autómata finito es determinístico si por medio de la función de transición es posible determinar claramente cuál es el estado siguiente. El autómata anteriormente visto es un AFD ya que cuando se está en un estado cualquiera y se tiene un símbolo del alfabeto es posible determinar claramente cuál es el estado siguiente.

Autómatas finitos no determinísticos La diferencia fundamental entre un autómata finito determinístico y un autómata finito no determinístico, es que en éste último la función de estado siguiente, no conduce a un estado único determinado.

Máquinas de estado finito Una máquina de estado finito es una forma de representar los autómatas finitos, en donde no existen estados aceptados y donde los símbolos de salida se colocan juntamente con los símbolos de entrada en cada una de las aristas de la máquina.

Máquinas de Turing Una máquina de Turing consiste en una cinta que se extiende de manera infinita, en donde se escribe o se lee información por medio de una cabeza de lecturaescritura.

Teoría de la computabilidad Es la parte de la computación que analiza y determina los problemas que pueden resolverse por medio de un algoritmo o bien por alguna de las MT.

Teoría de la complejidad La complejidad es la cantidad de recursos necesarios para resolver un problema como son tiempo y espacio. El tiempo es el número de pasos de ejecución de un algoritmo para resolver un problema y el espacio la cantidad de memoria utilizada para resolver dicho problema.

Aplicación de los lenguajes formales Las máquinas de estado finito y los AFD admiten lenguajes regulares, lenguajes simples que normalmente se observan funcionando en circuitos lógicos de control sencillos, en donde las operaciones a realizar, están completamente determinadas por la información de entrada.