[ANTLR] Problème avec la règle zero or more
Bonjour,
Avec antrl v3 je ne sais pas comment on traite un token qui peut apparaitre zéro ou plus de fois :
Code:
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:
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.