Aller au contenu
EN FR

Automate d'évaluation — pattern matching

Statut documentaire : architecture — voir Maturité et preuves.

Le pattern matching est un mécanisme central du moteur d'expressions : il compare une valeur ou une structure à un motif et peut enrichir l'environnement avec de nouvelles liaisons.

Le moteur courant dispose d'un protocole spécialisé permettant d'associer des fonctions d'évaluation à des états explicites de matching.

Modèle conceptuel

valeur + motif
  -> comparer la structure
  -> vérifier les contraintes du motif
  -> créer les liaisons compatibles
  -> succès avec environnement enrichi
     OU échec explicite

Catégories de motifs

Selon la famille d'expressions considérée, un motif peut représenter :

  • une valeur atomique ;
  • une structure composée ;
  • une variable de motif ;
  • un joker ;
  • des motifs imbriqués.

Les formes syntaxiques exactes doivent être documentées dans la référence du langage concerné plutôt que déduites des détails internes du matcher.

Pourquoi un automate spécialisé ?

Le matching n'est pas seulement un test booléen. Il peut :

  • produire des liaisons ;
  • échouer sans produire de valeur métier ;
  • descendre récursivement dans une structure ;
  • revenir à un état parent ;
  • participer à des stratégies logiques ou fonctionnelles.

Il constitue ainsi un pont naturel entre évaluation fonctionnelle et raisonnement structurel.