Construire Bolt : Mon parcours vers un compilateur prêt pour la production
Cet article, premier d'une série, détaille l'expérience de l'auteur dans la construction de Bolt, un langage de programmation orienté objet concurrent de style Java. Il explique la motivation derrière la création d'un compilateur, en utilisant l'analogie d'un opérateur télégraphique traduisant la parole en code Morse. L'auteur couvre les étapes clés du compilateur, telles que l'analyse lexicale, l'analyse syntaxique, la vérification de types et la génération de code, en soulignant les fonctionnalités avancées de Bolt, comme les objets, les classes, l'héritage, le remplacement de méthodes, la concurrence et les génériques. L'article discute du typage statique versus dynamique et du rôle de LLVM, expliquant comment Bolt compile en LLVM IR pour l'optimisation et la génération de code machine. L'originalité de Bolt réside dans sa double phase de vérification de types assurant la sécurité concurrentielle. La série promet un tutoriel pratique sur la construction d'un compilateur au-delà des langages jouets.