Diferencia entre revisiones de «Teoría de Lenguajes»

De Cuba-Wiki
Línea 115: Línea 115:
== Enlaces externos ==
== Enlaces externos ==


*[http://www.dc.uba.ar/materias/tl Pagina Oficial de la Materia]
*[http://web.stanford.edu/class/archive/cs/cs143/cs143.1128/ Curso de compiladores de Stanford]
*[http://web.stanford.edu/class/archive/cs/cs143/cs143.1128/ Curso de compiladores de Stanford]
*[http://www.lsi.uned.es/procleng/apuntes/2006-2007/CalculoPrimeroSiguiente.pdf Apunte sobre el calculo de Primeros y Siguientes para gramaticas]
*[http://oscarbonilla.com/courses/compilers/ Slides de un curso de compiladores de Oscar Bonilla]
*[http://oscarbonilla.com/courses/compilers/ Slides de un curso de compiladores de Oscar Bonilla]
*[http://smlweb.cpsc.ucalgary.ca/ Context-Free Grammar Tool]: La Victorinox de las gramáticas libres de contexto. Genera todo tipo de autómatas y tablas y chequea muchas propiedades.
*[https://mdaines.github.io/grammophone/ Grammophone] Genera autómatas y tablas LR(0), SLR, LALR, LR(1) y chequea algunas propiedades.
*[https://www.youtube.com/playlist?list=PLEbnTDJUr_IcPtUXFy2b1sGRPsLFMghhS Diseño de compiladores]: Clases para varios de los temas del segundo parcial.


[[Category:Materias]]
[[Category:Materias]]
[[Category:Computación]]
[[Category:Computación]]
[[Category:Programación]]
[[Category:Programación]]

Revisión del 02:30 27 jun 2022

Teoría de Lenguajes es una materia que tiene como objetivo presentar las nociones de lenguaje formal y de sintaxis y semántica de lenguajes, imprescindibles para la construcción de compiladores. Pertenece al Departamento de Computación y según el plan de la carrera, debería cursarse en Cuarto Año. Es correlativa de Lógica y Computabilidad. Se cursa los Lunes, Miércoles y Jueves.

Programa

Primera Parte

Introducción. Lenguajes y gramáticas. Clasificación de Chomsky. Lenguajes regulares, Autómatas. Expresiones regulares. Equivalencias entre expresiones regulares, gramáticas regulares y autómatas. Lema de pumping. Minimización de autómatas. Decidibilidad de problemas básicos y propiedades de clausura. Analizadores lexicográficos. Lenguajes independientes de contexto. Arboles de derivación. Lema de pumping para lenguajes independientes de contexto, Gramáticas reducidas. Autómatas de pila. Lenguajes determinísticos, Equivalencias entre autómatas de pila y gramáticas libres de contexto.

Segunda Parte

Lenguajes tipo 1 y tipo 0. Máquinas asociadas. Parsers ascendentes y descendentes. Método LL(1). Parser descendente recursivo y por tablas. Transformación de gramáticas. Propiedades de las gramáticas LL(1). Métodos ascendentes. Métodos de precedencia. Métodos LR. LR(0). Propiedades. Métodos LR(0), SLR(1), LR(1) y LALR(1). Gramáticas de atributos. Definiciones guiadas por la sintaxis. Esquemas de traducción. Aplicación al análisis semántico y la generación de código. Semántica de los lenguajes de programación. Semántica operacional natural. Semántica operacional de computación.

Prácticas

Primer Parcial

Segundo Parcial

Apuntes

Ejercicios Resueltos

Apuntes de Clase

  • Apuntes de clase: los apuntes que entrega Julio en la clase, con (bastantes) correcciones y algunas anotaciones extra.

Primer Parcial

Segundo Parcial

Final

Finales

Ver en Demostraciones (Teoría de Lenguajes) la nota sobre demostración de lema de pumping para LLC, lo toman siempre.

Parciales

Primeros Parciales

Segundos Parciales

Trabajos Prácticos Viejos

Enlaces externos