Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

¿Cómo escribir un compilador?

Más de un estudiante de ciencias de la computación tendrá como ejercicio o trabajo del semestre, la escritura de un compilador. Para ello, el libro...

turbo-pascal-1

Más de un estudiante de ciencias de la computación tendrá como ejercicio o trabajo del semestre, la escritura de un compilador. Para ello, el libro de Aho, Sethi y Ullman, “Compilers: Principles, Techniques, and Tools”, es un clásico. Aún así, el tema no es fácil y hasta el compilador más elemental tiene su gracia y no es algo sencillo de escribir. Por ello, muchas veces los interesados en el tema ven código fuente de otros lenguajes/compiladores, para darse una mejor idea de lo que puede hacerse.

Una manera ingeniosa de aprender más sobre el tema es escribir un compilador de un lenguaje en otro de alto nivel (o incluso del mismo lenguaje). Así, se puede escribir un compilador de C en C. Suena extraño pero no lo es realmente. Se empieza compilando cosas sencillas y poco a poco se va incrementando el poder del compilador. De hecho, ésta es una técnica común.

Veo que hay un sitio, el cual describe lo que hace un compilador como el de turbo Pascal, el cual fue un sistema de desarrollo que incluía incluye un compilador y un entorno de desarrollo integrado (IDE) para el lenguaje de programación Pascal, desarrollado por Borland y liderado por Philippe Kahn. Salió a la venta en 1983 para MS-DOS, CP/M, CP/M-86 y, posteriormente, para Windows. También hubo una versión de corta vida para Macintosh.

El compilador de Pascal de Borland, famoso en todo el mundo, fue presentado en 1985. El compilador Turbo Pascal ha sido una de las series de compiladores que mejor se han vendido de todos los tiempos, e hizo de Pascal un lenguaje especialmente importante en la plataforma PC, gracias a su equilibrio entre simplicidad y potencia. Turbo Pascal introdujo un entorno integrado de programación (IDE) en que se podía editar el código (en un editor compatible con WordStar), ejecutar el compilador, ver los errores, y volver directamente a las líneas que contenían los errores. Ahora suena trivial, pero antes de eso había que salir del editor, volver a MS-DOS, ejecutar el compilador de línea de comandos, anotar las líneas erróneas, abrir de nuevo el editor y buscarlas. Además, Borland puso a la venta Turbo Pascal por 49 dólares (USA), mientras que el compilador de Pascal de Microsoft era decenas de veces más costoso. Los muchos años de éxito de Turbo Pascal contribuyeron a que Microsoft finalmente retirase su compilador del mercado.

En el sitio mencionado, el autor del mismo, Igor Funa, se ha dado a la tarea de escribir el compilador de turno, turbo Pascal, usando turbo Pascal. Hay versiones gratuitas y de paga. Las primeras son el compilador en formato exe, es decir, son los programas compilados. El autor indica que son 100% compatibles con el código que genera turbo Pascal, en sus versiones de 16 y 32 bits. Si se desea el código fuente (en turbo Pascal), del compilador, se puede conseguir por unos 50 dólares por la versión de 16 bits y 150 dólares por la versión de 32 bits. Para más de uno esto podrá ser muy costoso, pero para quien de verdad quiera saber cómo es que se construye un compilador, el costo es realmente una inversión.

Referencias:

TurboPascal

Comentarios