TinyCompiler : Un compilateur réalisé en un week-end

2025-02-20

Ce projet décrit la création de TinyCompiler, un compilateur minimaliste élaboré en un week-end. Il traduit le langage de programmation ésotérique Wend (créé par l'auteur) en assembleur GNU. Wend est un langage simple, ne comportant pas de pointeurs, de tableaux, ni d'autres complexités, et se concentrant sur les concepts fondamentaux de la compilation. Le projet complet fait moins de 500 lignes de Python et inclut des programmes de test tels que le calcul de la racine carrée à virgule fixe, le rendu de l'ensemble de Mandelbrot et des jeux simples. C'est une excellente ressource pour apprendre la théorie des compilateurs.

Lire plus
Développement

Code C avec seulement des directives `#define` : Animation de feu magique

2025-02-20

Cet article détaille comment l'auteur a créé un programme d'animation de feu utilisant uniquement la directive `#define` en C. Cette tâche apparemment impossible a été accomplie en utilisant intelligemment les capacités de remplacement de texte des définitions de macro, la concaténation de jetons et les techniques d'appel récursif. Le résultat est une simulation de feu brûlant et se propageant, démontrant la puissance du préprocesseur C et sa "complétude de Turing". L'article souligne également les risques et les problèmes potentiels liés à une mauvaise utilisation des macros.

Lire plus
Développement préprocesseur