> For the complete documentation index, see [llms.txt](https://cc4.gitbook.io/cc4/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cc4.gitbook.io/cc4/master.md).

# Compiladores

![Photo Credit: openclassroom.stanford.edu ](https://3987210575-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lo7JrdNYfxY5-IhxVcf%2F-Lo7K3oNRPHeQKTfBTnc%2F-Lo7KsLB1u1vpu06j467%2Fcompilers.png?alt=media\&token=3bb7bd93-9e55-4cb0-ac63-dedbc94c2d5f)

## 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

![](https://3987210575-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lo7JrdNYfxY5-IhxVcf%2F-Lo7K3oNRPHeQKTfBTnc%2F-Lo7LHbXe4RH5svHVhMM%2Fdragon.jpg?alt=media\&token=611dce36-30c5-4785-a8b1-b1723310e863)
