CC4
  • Compiladores
  • Laboratorios
    • Lab 1 (COOL)
    • Lab 2 (Lexer)
    • Lab 3 (RDP)
    • Lab 4 (JCUP)
    • Lab 5 (Symbol Table)
    • Lab 6 (Análisis Semántico I)
    • Lab 7 (Análisis Semántico II)
    • Lab 8 (RISC-V)
    • Lab 9 (CodeGen I)
    • Lab 10 (CodeGen II)
    • Lab 11 (Optimizaciones)
  • Proyectos
    • Instalación Material
    • Análisis Léxico
    • Análisis Sintáctico
    • Análisis Semántico
    • Generación de Código
  • Manuales
    • Manual de COOL
    • Manual JLex
    • Manual JCup
    • COOL Runtime System
  • Guías
    • Guía CodeGen
Powered by GitBook
On this page
  • Requisitos
  • Descripción
  • Objetivos
  • Libro de Texto

Was this helpful?

Compiladores

NextLab 1 (COOL)

Last updated 5 years ago

Was this helpful?

Requisitos

  • Tener claros los conceptos de CC1, CC2 y CC3.

  • Tener claros los conceptos de Informática 3.

  • Tener habilidad para programar en Java.

Descripción

Este es un curso introductorio al diseño de lenguajes de programación y a la implementación de sus compiladores e intérpretes. En el proceso, haremos una exploración general al diseño de lenguajes de programación y su impacto en la implementación de los mismos. Durante este semestre, nos enfocaremos en un lenguaje particular: Classroom Object Oriented Language (COOL).

Objetivos

Uno de los objetivos de este curso es explorar la estructura de los lenguajes de programación y considerar alternativas a características familiares en lenguajes de programación. Estudiaremos además el problema de la traducción de lenguajes de alto nivel a formas que pueda ejecutar la máquina, utilizando el lenguaje COOL como lenguaje de alto nivel y RISC-V como lenguaje ensamblador. La implementación de un compilador se hace por varias razones:

  • Aprender técnicas que se aplican a muchas clases de problemas fuera del ámbito de un compilador,

  • Obtener una mejor comprensión de las herramientas que utilizamos cuando programamos y los costos de los programas que escribimos.

  • Para obtener experiencia construyendo y validando un problema de ingeniería sustancialmente complejo.

Libro de Texto

Photo Credit: openclassroom.stanford.edu