DISEÑO COMPILADORES

Páginas: 7 (1738 palabras) Publicado: 9 de noviembre de 2015
Diseño de compiladores
Introducción y organización del curso

Bienvenidos al curso…
• Algunos temas a ver hoy…





Información general del curso
Por que estudiar compiladores?
Breve historia de los compiladores
Estructura de un compilador

INTRODUCCIÓN

Información administrativa
• Docente
– Pablo Garbusi

• Correo electrónico
– pgarbusi@fing.edu.uy

• Pagina web del curso
–http://www.fing.edu.uy/inco/curso/compil
– Todo el material del curso será colocado en esta
pagina

Información administrativa
• Salones y horarios:
– Lunes, salón 103, 08:00 – 10:00
– Miércoles, salón 301, 08:00 – 10:00
– Tolerancia de 15 minutos… aprox.

• Material de clase
– Generalmente publicado la semana antes en el
sitio

• Cupo, pasaje de lista, etc.
– El curso no tiene cupo, no se pasa lista, etc. Organización del curso
• Primer parte: (aprox. 2 meses)
– Teórico/practica
– Individual
– Evaluación: Parcial, eliminatorio

• Segunda parte: (aprox. 1 mes y medio)
– Construcción de un interprete/compilador
– Grupal (máx. 3 personas)
– Evaluación: Tiene que funcionar

Libro de referencia

Algunos otros libros interesantes

Para el que este olvidado del tema

Con respecto al obligatorio:Copia
• Aplica el reglamente general de la Facultad
• Se permite el libre intercambio de ideas…
• Pero NO SE PERMITE EL INTERCAMBIO DE
CODIGO NI LAS COPIAS
• En caso de detectar una copia, TODOS LOS
INVOLUCRADOS tendrán las sanciones
administrativas correspondientes

AHORA SI…COMPILADORES

Por que estudiar compiladores?
• Ver la teoría en funcionamiento
• Comprender como funcionan los lenguajes deprogramación
• Comprender cuales son los tradeoffs en el
diseño de un lenguaje
• Aprender como construir lenguajes de
programación
– Domain Specific Languages (DSLs)

Historia de los compiladores






Al comienzo, no había nada
Luego, apareció el código maquina
Era un forma tediosa de escribir programas
La tarea mas simple llevaba mucho tiempo
Por ejemplo, para cargar el valor 1 en unavariable, había que hacer:
A9 01
8D 00 0C

Historia de los compiladores
• Posteriormente, alguien tuvo la idea de
mejorar la anterior, dándole nombres a los
comando de código maquina
• Surge el assembler
• Ahora, en vez de lo anterior, hacemos:
LDA 01
STA INDEX

Historia de los compiladores
• Los ensambladores fueron mejorando,
agregando mas expresividad y mas
capacidades
if optimized
index = AX
elseindex = @address
mov index,1

Historia de los compiladores
• Con el paso del tiempo, se comienza a elevar
el nivel de abstracción
• Los lenguajes se alejan cada vez mas de la
maquina en la que ejecutan
If (Persona.Edad > 18) Then
Print(“Es mayor de edad”);
Else
Print(“No es mayor de edad”);

Clasificación de lenguajes
• Hoy día existen cientos de lenguajes de
programación
• Existen diferentesclasificaciones y
organizaciones
• Una de ellas es la generación
• Tenemos cinco generaciones de lenguajes hoy
día

Clasificación de lenguajes
• 1era Generación
– Lenguajes de maquina

• 2da Generación
– Lenguajes ensamblador

• 3ra Generación
– Lenguajes de alto nivel
– Fortran, Cobol, Lisp, C, C++, C#, Java

Clasificación de lenguajes
• 4ta Generación
– Lenguajes diseñados para aplicacionesespecificas
– SQL para acceso a bases de datos relaciones
– Postscript para formateo de textos

• 5ta Generación
– Lenguajes lógicos o basados en restricciones
– Prolog y OPS5 son ejemplos de ellos

Clasificación de lenguajes
• Otra clasificación utiliza el termino imperativo
para lenguajes en los que se dice COMO
realizar una computación
– C, C++, Java, C# son ejemplos de estos
– Existe la noción deestado de programa y
sentencias que cambian ese estado

• El termino declarativo se utiliza para lenguajes
en los que se dice lo QUE se debe hacer
– Prolog, Haskell, ML son ejemplos de estos

Compilador
• El encargado de llenar el hueco entre el
lenguaje origen y el destino, es el compilador
• Un compilador es un programa que toma
como entrada un programa escrito en un
lenguaje (fuente), y lo...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Diseño de compiladores
  • Analisi-diseño-compiladores
  • Compiladores
  • Compiladores
  • Compilador
  • COMPILADORES
  • Compiladores
  • Compiladores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS