Bonjour,
Je poste aujourd'hui pour vous demander de la doc concrète sur les parseur ll. Je veux dire qui soit orienté pratique plus que théorie.
merci et bonne journée
Version imprimable
Bonjour,
Je poste aujourd'hui pour vous demander de la doc concrète sur les parseur ll. Je veux dire qui soit orienté pratique plus que théorie.
merci et bonne journée
Recherche plutot du coté algorithme.
Tu en trouveras surement en cherchant de la doc sur la compilation.
notamment flex/yacc
OK je vais voir.
salut la page http://en.wikipedia.org/wiki/LL_parser c'est déjà un début et il y a un exemple de code source mais en C++
Si tu ne veux pas utiliser la STL et les conteneurs il faudra mettre en place une gestion de listes chaînées en pur C.
Développer l'équivalent de map<> ou stack<> en pur C n'est pas facile :)
Je te remercie pour ce lien. est-ce que tu peux me donner un petit exemple ?
salut Rémi ok mais quel exemple ?
c'est de ça que je te demandais si tu avais un exemple.Citation:
Si tu ne veux pas utiliser la STL et les conteneurs il faudra mettre en place une gestion de listes chaînées en pur C.
Développer l'équivalent de map<> ou stack<> en pur C n'est pas facile
Et bien, il s'agit d'aller lire la documentation détaillée de map, et de faire le même genre de chose en C.
Regarde aussi du coté de red-black-tree.
Pour une stack, c'est jamais qu'une liste chainée manipulée par un seul bout (arbitrairement, le premier élément, c'est plus simple).
Et c'est quoi cette map ?
au sens C++, un conteneur associatif.
En fait, c'est l'équivalent d'un annuaire. Il relit des clés à des valeurs.
Toute la magie vient de ce qu'il est du coup possible de chercher une valeur par sa clé.
Un exemple totalement inutilisable comme tel, mais qui existe vraiment, c'est la mémoire elle-même. Elle relie des adresses à des blocs mémoire contenant des valeurs.
Un pointeur n'est autre que la clé permettant d'accéder à une donnée.
Un moyen "simple" de faire une map, c'est de faire une liste chainée de structure {K cle; V valeur;}.
En pratique, on préfère un arbre équilibré et ordonné sur les clés, pour avoir un temps de recherche meilleur qu'avec une liste, et gagner au passage un tri.
Une autre solution, c'est de faire une hash-map, c'est à dire table de hachage, qui utilise une fonction "magique" pour calculer un entier à partir de la clé.
Ca permet d'être plus rapide encore, mais ca pose des tas de problèmes techniques.
OK merci beaucoup pour ta réponse.