utilisation de generique pour un autre generique - Ada - Programmation
Marsh Posté le 13-01-2004 à 18:06:22
on peut avoir plus de code et de contexte STP, c'est très confus.
Marsh Posté le 13-01-2004 à 18:18:18
le probleme c'est que traiter n'est definie que plus tard... donc je ne peux pas faire de
machin is new parcourir (traiter);
Marsh Posté le 13-01-2004 à 18:21:45
Theorie du chaos a écrit : le code arrive |
------------------------------------------------------------------------------- |
------------------------------------------------------------------------------- |
Marsh Posté le 13-01-2004 à 19:00:06
est ce que l'utilisation du rename peut servir?
|
Marsh Posté le 13-01-2004 à 19:05:13
Donc tu veux implémenter ta pile d'environnement en empilant des tables de hachage et tu veux faire le corps du package en question.
Et la partie que tu a écrite ? (je suppose que c'est le corps de Environ)
en fait la procédure va rester générique sur son traitement
tu auras donc un truc style :
Code :
|
le premier Traiter est celui de Parcourir, le second est celui de Parcourir_Bloc_Courant.
Normalement ça passe.
Marsh Posté le 13-01-2004 à 19:09:59
Parcourir_Bloc_Courant et Parcourir n'ont pas les memes arguments
Marsh Posté le 13-01-2004 à 19:17:00
pardon, je suis parti en live.
Code :
|
ça doit être un truc comme ça.
Marsh Posté le 13-01-2004 à 19:20:04
J'ai la super-flemme de tester moi-même les notations que je te file, je suis dans la norme là pour t'aider.
http://www.iuma.ulpgc.es/users/jmi [...] -12-3.html
edit : mais effectivement, j'avais pas vu que les arguments étaient pas les mêmes.
Marsh Posté le 13-01-2004 à 17:29:00
J'ai cette procedure parcourirdeja ecrite
package Tables is
generic
with procedure Traiter (E : access St_Element_Table);
procedure Parcourir (T : access St_Table);
-- Appelle Traiter sur chacun des elements de la table T.
-- L'ordre des differents appels a Traiter n'est pas defini.
et cette procedure Parcourir_Bloc_Courant a ecrire
generic
with procedure Traiter (D : access St_Defn);
procedure Parcourir_Bloc_Courant;
-- Appelle Traiter sur chacune des defns du bloc courant
-- (dans un ordre quelconque).
-- Precondition : la pile des blocs n'est pas vide.
Parcourir_Bloc_Courant doit faire la meme chose que parcourir...
mais j'arrive pas a "recuperer"