Problèmes de création de noeud avec JavaCC

Problèmes de création de noeud avec JavaCC - Java - Programmation

Marsh Posté le 19-05-2004 à 09:56:46    

Salut tout le monde,
 
   Alord voilà j'ai un souci au niveau de la création de certains noeuds quand l'arité est >0 par exemple.
 
Je m'explique j'ai un noeud qui est décrit comme ça dans ma grammire :  
 
void Noeud() #Noeud(>0) : {}
{
         A() (  
                 (B())? (C())? D() #E(>0)
                 |....
             )*
}
 
En fait il faudrait que dans mon ASA, le noeud E est entre 1 et 4 fils : A, B (ou pas), C (ou pas) et D, le problème c'est que quand je mets E(>0), A n'est pas le fils de E, il est au même niveau.
 
J'ai résolu provisoirement le pb en obligeant les 4 noeuds à chaque fois (avec B et C qui peuvent être vides)
 
Du coup j'ai ça :
 
void Noeud() #Noeud(>0) : {}
{
         A() (  
                 B() C() D() #E(4)
                 |....
             )*
}
 
Comme ça mon noeud E a toujours 4 fils (A B C et D) mais le problème avec cette solution c'est que je crée des noeuds qui ne servent à rien et ça me pose des problèmes après au niveau de l'implantation des visiteurs...
 
Si qqun sait pkoi ça ne marche pas avec le >0 et a une solution je suis preneuse parce que ça fait un scaré moment que je me prends la tête!!!  :??:  :??:  
 
Merci d'avance...


Message édité par ptitemat le 19-05-2004 à 09:58:21
Reply

Marsh Posté le 19-05-2004 à 09:56:46   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed