First draft of the future Reference class
Initial commit of the Mapstack class
Cleaning up mapstack::iterator. Factoring const/non-const iterators.
Rectifications on mapstack::iterator. More tests
Mapstack can now use any associative container.
Typo
Commit intermédiaire avant refactoring PExpression => using PExpression
= std::shared_ptr<Expression<T>>
Refactoring de PExpression
Poursuite du développement autour des références
Création de visiteurs d'expression (ExprVisitor).
Implémentation de expr->self() renvoyant un std::shared_ptr sur this de
façon sûr à partir d'un pointeur brut. Permet de simplifier le dispatch
des visiteurs.
Typo
Mise à jour de mapstack.hpp et mapstack_test.cpp
Utilisation de de std::vector au lieu de std::stack comme élément du dictionnaire associatif.
Même si les le dernier élément inséré dans la mapstack est intéressant, il est indispensable d'accéder aux éléments précédant afin notamment d'obtenir une définition complète d'une suite définie par récursion.
La pile ne permet pas de répondre à ce besoin.
Passage de std::pair à std::tuple comme élément de mapstack.
std::pair<const K, V&> ne permettait pas de modifier les éléments parcourus par un itérateur.
Début d'implémentation de la future classe ReferenceStack
La classe Reference doit être a sémantique de valeur et non d'entité
Poursuite de l'implémentation des références. Début d'implémentation du visiteur d'expression récursive.
Poursuite de l'implémentation des références.
+EvaluationVisitor : en prévision de l'abandon de la méthode expr->Eval()
+RecursiveExprVisitor  : place des wrappers afin de terminer la récursion de références dans une expression.
L'interpréteur utilise désormais l'EvaluationVisitor : induit une forte régression dans les fonctionnalités de l'interpréteur pour le moment.
Poursuite de l'implémentation des références.
Contournement d'un bug potentiel dans le constructeur par déplacement de std::list.
bug semblable dans unordered_map voir http://stackoverflow.com/questions/21520308/is-it-intended-by-the-c-standards-committee-that-in-c11-unordered-map-destro
Refactoring des visiteurs :
Choix de design : 2 classes de visiteur de base TransformVisitor et FoldingVisitor.
Debug et ajout de tests pour MapStack et ReferenceStack
Mapstack::Push and Pop simplification
Quelques fix sur les références indexés.
Reste à évaluer le contexte de définition et le contexte d'appel des références.