Está en la página 1de 3

¿44

UNIVERSIDAD MARIANO GALVEZ DE GUATEMALA


FACULTAD DE INGENIERIA EN SISTEMAS DE INFORMACION

'-ff §fr iB'f #[ililr¡it?*P,"'*To*'AcroN


curso: LENGUAIES FORMALES y rrORÍl pr nUtÓUAraS Código: OgO454
Pre-requisitos: O90411,09O4t2

PRESENTACION
Este curso es un contacto impoftante con las nociones y conceptos del proceso computacional o proceso algorítmico.
Forma las bases para los cursos de complejidad y compiladores. Incluye el estudio de técnicas de reconocimiento de
patrones, procesos básicos computacionales, análisis léxico y sintáctico, así como una base para computabilidad.

OBJETIVOS GENERALES.
Proporcionar alo estudiante la base científica para resolver problemas importantes dentro de la lógica atgorítmica,
fundamentales para la construcción de compiladores.

OBJETIVOS ESPECIFICOS.
Que el estudiante se introduzca en el análisis léxico, como método de solución de problemas de renacimiento de
patrones.
Que el alumno cuente con una idea básica de procesos computacionales.

CONTENIDO PROGRAMÁTICO DEL CURSO

1. Unidad Lenguaje
1'1 Definición de lenguaje, orientada a la formalídad, operaciones con lenguajes.
1.2 Conceptos básicos orientados a Ia teoría de compiladores.
1.3 Terminología asociada a la definición conceptual de lenguaje.
1.4 Esquema y simbología de definición de lenguaje.

2. Unidad Lenguajes formales.


2.1 Conceptos básicos.
2.2 Operadores básicos x y +.
2.3 Primera definición de lenguaje. Lenguaje formal. Lenguaje regular.
2.4 Expresionesregulares.
2.5 Precedencia en las expresiones regulares.
2.6 Átgebra de expresiones regulares.
2.7 Diseño de expresiones regulares.

3. Unidad Autómatas finitos.


3.1 Conceptos básicos.
3.2 Definición formal de autómata finito. Autómatas finitos en representación gráfica.
3.3 Análisis de la entrada a través de un autómata finito. Lenguaje aceptado por un autómata finito.
3.4 Ejemplos de autómatas orientados a diseñar la etapa de léxico de un lenguaje de
3.5 programación.
3.6 Tipos de autómatas.
3.7 Autómata finito determinista.
3.8 Autómata finito no determinista.
3.9 Análisis de la entrada a través de un autómata finito no determinista.
3.10 Autómata con transiciones-E
3.11 Análisis de la entrada a través de un autómata finito con transiciones-E.
3.72 Autómata no determinista y con transiciones-E.
3'13 Conversión de autómata finito no determinista a autómata finito determinista.
3.74 Conversión de autómata finito con transiciones-E .a autómata finito determinista.
3.15 Conversión de expresión regular a autómata finito no determinista.
3.16 Conversión de expresión regular a autómata finito determinista.
A
LJnidad Gramáticas.
4.t Conceptos básicos.
4.2 Definición formal.
4.3 Convenciones de notación.
4.4 Notaciónsimplificada.
4.5 Lema de Arden.
4.6 Derivaciones, Árboles de direvación.
4.7 Lenguaje generado por una gramática.
4.8 Diseño de gramáticas. Técnicas para el diseño Ce gramáticas, Modularidad de las gramáticas. Límites
de las gramáticas.
4.9 Diseño arbitrario de gramáticas.
4.!0 Primer acercamiento a Ia jerarquía de Chomsky para gramáticas.
4.17 Gramática regular implementada en un autómata finito no determinista.

5. Unidad Autómatas de pila


5.1 Conceptos básicos.
5.2 Definición formal.
5.3 Jerarquía de lenguajes.
5.4 Reconocimiento de una cadena en un autómata de pila.
5.5 Seguimiento en formato de corrida de escritorio.
5.6 Gramáticas independientes del contexto, implementadas en autómatas de pila.

6. Unidad Máquina de Turing


6.1 Conceptos básicos.
6.2 Máquina de Turing como realizadora de cálculos.
6.3 Reconocimiento de una cadena de entrada.
6.4 Máquina de Turing como reconocedora de lenguajes.
6.5 Diseño de la máquina de Turing.
6.6 Técnicas para la construcción de las máquinas de Turing,

7. Unidad Expresiones, primer acercamiento.


7.L Consideraciones para generar expresiones en lenguajes de programación.
7.2 Conceptos básicos.
7.3 Términos dentro de una expresión.
7.4 Tipos de operadores.
7.5 Prioridad o precedencia.
7.6 Notaciones.
7.7 Generación de notaciones a través de árboles binarios.
7.8 Recorrido del árbol.
7.9 Importancia de la notación posfija.
7.70 Algoritmo para conveftir de notación fija a notación posfija.
7.ll Algoritmo para evaluar notaciones pos fijas.
7.1"2 Aplicación de los algoritmos de converslón y evaluación en un programa.
7.1,3 Comentarios finales.

EVALI.lACION

Primer Parcial 10 puntos


Segundo Parcial 20 puntos
Laboratorios, tares y 20 puntos
trabajos de investigación
Examen Final 50 puntos
Nota Final lOO puntos

BIBLIOGRAFIA

Libro de Texto
Teoría de Autómatas y Lenguajes Formales", Dean Kelley. Ed. Prentice Hall, 1995.
#y,t
d;'-* i?
\\
§#;r ¡¿.,, ri,i'
-,, .,. -;.,
Brookshear, J. Glenn '"Teoda de ta Computacién, Lenguajes Formalés, Automatas y Complejidad", Editorial Addison
\rVesley lberoarnérica, primera edición USA 1993.

Hopcroft, John y Jeffe¡r Ullman, 'Introducción a la Teoría de Autómatas, Lenguajes y Computación-. CECSA, tercera
reimpresién, Mráxico 1997
Prineipios, ¡écnicas y henamienhs", Aho A.V.r Sethi fu. & Ullman J.D. Ed: Addison - Wesley
-"Cornpiladores,
Iberoamericana. 1990.

6Fj&
g
g ?'il
ürrr§$ú

f§au"¡

También podría gustarte