S01E93 — 29-10-2024.
L’ingénierie d’un compilateur —
Parser.
jour 93.
Je poursuis ma lecture du livre “Engineering a compiler”, j’ai entamé le chapitre 2 sur le Parser. Un chapître intéressant mais c’est fou tous les types de Parser qui existent. Plus tu à des informations, plus tu peux hésiter sur le choix de l’imlémentation adaptée pour ton Parser. Ce que j’en retiens c’est que l’approche d’un Parser descendant avec une touche de récursivité est l’option la plus adapté pour un langage de programmation relativement simple et dont le Parser est écrit à la main.
Ce qui est mon cas.
Bien sûr, je ferai une synthèse de mes lectures et je te fournirai mes notes. Je t’avouerai que mon but est d’arriver rapidement jusqu’au chapitre qui correspond à la représentation intermédiaire. Concernant le Parser et son analxse syntaxique, je pense avoir assimilé les informations dont j’avais besoin — ce qui ne m’intéressait pas, j’ai zappé. Nor-mal, je ne suis pas un Compiler Engineer, me buter sur des concepts qui je n’utiliserai jamais — à quoi bon ! Est-ce que pour un langage jouet, j’ai besoin de savoir ce qu’est un parser LL(1), LR(1), LR(k), etc ? Et bien la réponse est non. Ce qui est importe, c’est est-ce que j’ai compris le rôle du parser pour être capable d’en implémenter un ? Et bien la réponse est oui. De toute fa4on chaque brique du compilateur peut être changer donc si dans le futur, des modifications devront être faites, alors là et seulement là, j’irai potasser ce chapitre pour définir si c’est la bonne approche.
Ce que je ne pense pas puisque je veux implémenter l’algorithme “Sea of Nodes” et le livre n’évoque aucunement cette implémentation. Heureusement d’ailleurs car la complexité de cette algo peut causer des suicides, des crises cardiaques et tout autres délires qui font que tu meurs sur le coup. Demain, je vais lire le chapitre trois qui concerne l’analyse sémantique. Je me demande si ils vont parler de l’inférence de type d’Hindler-Milner car c’est ce que je souhaite implémenter. Dans tous les cas je vais apprendre des trucs donc je suis bien content.
C’est bim-bim !