Implémenter un langage de programmation est une expérience que aucun programmeur ne devrait rater ; le processus favorise une profonde compréhension de la computation, et c'est amusant ! Dans cet article, j'ai réduit tout le processus à sa substance : un interpréteur à 7 lignes pour un langage de programmation fonctionnel (équivalent de Turing). Cela prend environ 3 minutes pour être mis en œuvre. Cet interpréteur à 7 lignes montre une architecture scalable trouvée dans de nombreux interpréteurs - le modèle de design eval/apply de Structure and Interpretation of Computer Programs: Au total, il y a trois implémentations de langage dans cet article : un interpréteur à 7 lignes, 3 minutes en Scheme ; une re-implémentation en Racket ; et un interpréteur à 100 lignes, "1-après-midi" qui implémente des formes de liaison de niveau supérieur, des récursivités explicites, des effets latéraux, des fonctions de rang supérieur et plus ! L'interpréteur final est un bon point de départ pour faire grandir un langage plus riche.
Commentaires (0)
Login or Register to apply