Bonjour,

Avec antrl v3 je ne sais pas comment on traite un token qui peut apparaitre zéro ou plus de fois :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
decls	:	d+=decl? (PV d+=decl)*
		-> decls(decl={$d.st})
Dans ce code decl peut ne pas apparaître dans le texte. Donc d n'existe pas. antrl à la compilation le détecte et indique cette erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
symbol  : variable st
location: interface java.util.List
              new STAttrMap().put("decl", list_d.st));                                                ^
Ma question est donc comment effectuer l'action decls qui ecrit un texte quand il y a des d et pas quand il n'y en a pas.

Merci d'avance de vos réponses.