J'ai une grammaire ANTLR et je définis une fonction dans mon langage qui permet un paramètre facultatif. Comment puis-je vérifier si le paramètre facultatif est passé ou non dans le bloc de génération de code?ANTLR: Test grammatical pour le paramètre facultatif (utilisant l'opérateur)
Je cherche essentiellement pour la syntaxe de faire quelque chose comme cette déclaration hypothétique grammaire arbre:
myFunc returns [int retval] : 'myFunc' arg1=number arg2=string?
{
// Check if arg2 exists.
if (/* arg2 exists */) { $retval = $arg1.value + 10; }
else { $retval = $arg1.value; }
}
Toute suggestion ou à la documentation sont des pointeurs grandement appréciés!
pour les intéressés, la meilleure que j'ai trouvé de la documentation antlr3 est ici: http://java.ociweb.com/mark/programming/ANTLR3/ANTLR3.pdf – Han