¿Un nuevo compilador para microcontroladores PIC?

Recientemente (hace algunos meses), inicié uno de mis proyectos más ambiciosos, un compilador.  Y aunque ya antes he hecho compiladores sencillos, este es el primero que tiene un diseño sólido y toda una ingeniería detrás.

Crear un compilador, no es una tarea sencilla. Este tipo de programas están entre los más complejos que existen. El primer compilador de FORTRAN, requirió 18 años hombre de trabajo. Yo no dispongo de tanto tiempo, pero actualmente, la tarea se simplifica por el uso de modernas herramientas de software y conocimiento teórico, del que no se disponía en esa época.

Mi objetivo es crear un pequeño compilador que pueda leer en lenguaje Pascal y generar directamente el código binario, en el formato que aceptan los microcontroladores PIC de la firma MICROCHIP. Desde luego que este compilador cae en la categoría de Compilador cruzado, porque compila para una arquitectura distinta a la que usa el compilador.

El proyecto es de software libre y está alojado en GitHub: https://github.com/t-edson/PicPas. Le he dado el nombre de Turbo PicPas, como un tributo al viejo compilador Turbo Pascal de Borland.

¿Por qué usar Pascal como lenguaje y no C, como la mayoría de compiladores?

Bien. Este es un tema de gustos y opiniones. Personalmente me gusta el C, y lo he usado extensivamente. Pero hablando de niveles de lenguajes, el C es un lenguaje de bajo nivel, con una sintaxis limitada por las capacidades del hardware y software de la época. Pascal es un lenguaje de mayor nivel y tiene una sintaxis más elegante y legible, además de incentivar a buenas prácticas en la programación. El lenguaje ha ido también evolucionando en las nuevas versiones de Object Pascal y Modula 2.

¿No existen ya compiladores en Pascal ?

Sí claro, hay pocos pero los hay. Pero todos los que he visto, o son software privativo, o tienen funciones limitadas o dependencia de software de Microchip.

Algo que me decepciona de las IDE de algunos de estos programas, es que sus editores están muy limitados y no se comparan los que vemos en Visual Studio o Lazarus. PicPas tiene un editor bastante decente y funciones avanzadas, como la edición en modo columna o la ayuda contextual.

Además hay que notar que a la fecha, no existen (o no los he encontrado), compiladores libres para Pascal, que compilen para microcontroaldores PIC, y que sean multiplataforma.

PicPas es totalmente compilable en Linux:

Este proyecto está siendo desarrollado con la IDE Lazarus y el compilador Free Pascal. Recien está empezando, y actualmente solo incluye funciones básicas. Pero hay todo un conjunto de librerías detrás que están evolucionando para dar soporte al compilador (y a otros proyectos en general)

Las colaboraciones, de cualquier tipo son bienvenidas.

 


2 comentarios

  1. No sé si el proyecto sigue en marcha; de todas formas lo considero muy bueno.
    Ojalá pueda continuar adelante!

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*