Pourquoi ne puis-je pas utiliser la fonction setText dans les règles de l'analyseur?La fonction setText de ANTLR4 ne fonctionne pas avec les règles de l'analyseur
Par exemple:
normalClassDeclaration
: classModifier* 'class' Identifier typeParameters? superclass? superinterfaces? classBody
{
$Identifier.setText("TEST");
}
;
Si je produis l'analyseur et lexer avec cette grammaire, l'analyseur ne connaît pas la fonction setText. Si je fais cela dans les règles de analyseurs lexicaux, il n'y a pas de problème et il est en train de changer chaque identifiant de « TEST »
Identifier
: JavaLetter JavaLetterOrDigit*
{
setText("V");
}
;
Mais il ne devrait changer l'identifiant lorsque sa classe/fonction/identifiant variable.
Merci. Était très utile. – vizero
vous êtes les bienvenus – Yevgeniy