01/03/2007
Nic Volanschi
Une nouvelle approche au pattern matching d'arbres, dans mygcc et au-delà

Les « patterns aplatis » (unparsed patterns) sont une nouvelle approche au pattern matching d'arbres. Leur origine et première application sont le compilateur mygcc - un prototype de « compilateur vérifiant » (checking compiler), capable d'effectuer à chaque compilation des vérifications légères de propriétés définies par le programmeur. Dans ce contexte, les patterns aplatis permettent d'implémenter de telles vérifications par une extension minime de pratiquement tout compilateur existant. Nous présenterons un cadre générique pour le pattern matching aplati, montrerons quelques limitations de cette approche, et énoncerons quelques problèmes ouverts. Au-delà de mygcc et des compilateurs vérifiants, les patterns aplatis ont été implémentés comme une bibliothèque nommée matchbox, servant à utiliser le pattern matching en C sur des arbres non syntaxiques respectant certaines contraintes.