J'ai justement en tête l'exemple d'un parser sous forme de machine à état. L'algorithme de parsing est complexe, avec beaucoup de récursivité. Nous aimerions, dans certains cas, pouvoir s'assurer qu'une fonction membre ne va modifier ni l'état de son instance ni l'état du programme (lors de la déclaration des protocoles*, ie. avant de commencer l'implémentation: l'idée c'est de répartir l'implémentation des algos entre plusieurs développeurs, en fournissant un protocole qu'ils ne doivent pas modifier), et que ce ne soit surtout pas une fonction membre statique.
Partager