Skip to content

Estructura del Tutorial

Cada capítulo de este tutorial, exceptuando la introducción actual y la descripción del lenguaje, se corresponde con una de las etapas del proceso de construcción de un compilador.

alt

Estructura de cada capítulo

Los capítulos siguientes del tutorial siguen el siguiente esquema:

  1. Objetivo de la etapa. Se muestra un ejemplo de entrada y cual debería ser la salida obtenida si dicha etapa se hubiera ya realizado.
  2. Especificación. Antes de pasar a la implementación, se expresa de manera formal los requisitos que debe cumplir la etapa. Esto no sólo documenta la tarea a realizar, sino que es la base para la implementación, ya que cada forma de especificación viene acompañada de unas pautas para hacerlo.
  3. Implementación. Se muestra cómo implementar la especificación anterior.
  4. Ejecución. Se muestro cómo ejecutar la implementación anterior y se comprueba que se obtiene lo establecido en el objetivo.

Código de cada capítulo

El código fuente del tutorial está disponible en formato zip. Este archivo incluye las siguientes carpetas:

alt

Las carpetas numeradas entre 1 y 7 contienen el código de la etapa indicada. Cada una de estas carpetas tiene, a su vez, dos subcarpetas:

  • changes contiene únicamente los ficheros que se hayan cambiado en esta etapa. Es una forma de poder comprobar rápidamente lo que se ha hecho en la misma.
  • finished contiene el código completo tal y como estaría al finalizar la etapa indicada.
    • Es posible compilar y ejecutar el código de esta carpeta. Su ejecución coincidirá con lo mostrado en la sección Ejecución del capítulo.
    • El contenido de esta carpeta se obtiene siempre de coger la carpeta finished del capítulo anterior y copiar encima el contenido de changes del capítulo actual.