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.
Estructura de cada capítulo
Los capítulos siguientes del tutorial siguen el siguiente esquema:
- 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.
- 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.
- Implementación. Se muestra cómo implementar la especificación anterior.
- 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:
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.