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.