Advent of Code : Solution élégante à un problème d’analyse d’état
2025-04-09
Le dernier casse-tête de Advent of Code implique d’interpréter les instructions `do()` et `don't()` qui activent ou désactivent la contribution des instructions `mul` à une somme. Les expressions régulières ont des difficultés avec cet état, car elles reconnaissent les langages réguliers sans état. L’auteur utilise une solution basée sur un analyseur, en l’élevant à un transformateur d’état pour créer un analyseur avec état. Cet analyseur gère efficacement les instructions `do()`, `don't()` et `mul`, en traitant environ 1 Mo d’entrée en 0,12 seconde, soit une amélioration significative par rapport à une approche basée sur les expressions régulières.