S01E86 — 22-10-2024.
La tête dans …(les bouquins)
jour 86.
Tu ne vas pas du tout aimer ce que tu vas lire. Je m’en excuse d’avance de t’avoir caché ce qui va suivre. Mets toi à ma place avant car si j’avais fait ce que je vais faire maintenant dès le premier speech. Tu ne serais plus là 86 jours plus tard. Je t’aurais perdu dès le départ.
Pour être à l’aise avec l’écriture d’un compilateur, il faut maitriser certains concepts:
- Représentation intermédiaire (Intermediate Representation).
- Graphe de float de contrôle (Control Flow Graph).
- Bloc de base (Basic Block).
- etc.
Ces concepts sont cruciaux pour être à l’aise sur la partie backend du compilateur. Il parait que c’est la partie la plus sympa (mais ce n’est pas moi qui le dit). Pour t’éviter de t’éparpiller à aller chercher l’information un peu partout sur les interwebs. Je vais te conseiller un livre, il est en anglais mais pas le choix. Il s’agit du livre “Engineering a Compiler” by Keith D. Cooper et Linda Torczon. C’est un excellent bouquin pour débuter, tu vas pouvoir connaìtre toute la pile d’un compilateur dans les moindres détails (plus de 800 pages de savoir). L’avantage c’est qu’il mélange théorie et pratique. La piraterie est assez clémente ces-temps-ci, tu pourras facilement le trouver en recherchant engineering a compiler pdf sur ton moteur de recherche préféré. Si tu trouves pas, tu me demandes, je te l’enverrai.
Surtout ne te décourage pas, à la vue du sommaire et du nombre de pages. Prends ton temps pour le lire, prendre des notes et implémenter les exemples proposer avec ton langage de prédilection. Ce qui compte sont les concepts car ils seront récurrents pour n’importe quel compilateur que tu rencontreras. De toute façon, je vais le lire aussi, comme ça, j’écrirai dessus, si jamais cela t’aide, c’est bonus.