En deuxième année à l’ENSIAS, le projet de compilation portait sur un langage impératif nommé Pseudo-C. Il s’agit d’une version allégée du C qui ne travaille que sur des entiers (et des tableaux d’entier). Il fallait, en deux mois, écrire un compilateur du Pseudo-C vers du byte-code, et développer un interpréteur pour le byte-code.
Le projet dans son ensemble a été une véritable partie de plaisir, tellement ce que je découvrais m’enchantait. Je venais juste de commencer à saisir la programmation en C et la philosophie des outils en ligne de commande Unix. J’ai fini par développer un environnement complet pour travailler avec le Pseudo-C, avec des utilitaires écrits en C pour aider au debuggage, un programme Scheme de génération aléatoire de programmes Pseudo-C, divers scripts shell, et un framework plutôt élégant de test pour le code du compilateur.
Le code a été développé à la hate (le projet a duré 2 mois), les commentaires ne sont pas toujours à la hauteur, le style n’est pas toujours fin, mais le projet pourrait être utile à toute personne qui débute en compilation. J’ai donc décidé de le mettre en ligne.
Le fichier PseudoCCompilerCollection.zip contient le code du compilateur, de l’interpréteur, les librairies tierces, le framework de test, les jeux de test, les utilitaires et le rapport du projet. N’hésiter pas à m’envoyer des commentaires, et happy hacking!
Télécharger PseudoCCompilerCollection.zip
Update (12/04/2009): Le projet est maintenant hébergé sur github.
