RX0039

Domaine: Analyse syntaxique

Message d'erreur

le nom %s ne localise rien (%s)

Dans le message, %s marque une valeur que le moteur remplit au moment où il lève l'erreur.

L'histoire

Vous avez écrit un nom, et le moteur n'a trouvé nulle part ce qu'il désigne. Voyons ce qu'il se passe. Quand il lit votre programme, le moteur remplace chaque nom par son nom complet, puis par une coordonnée précise. Deux issues sont possibles : soit le nom correspond à exactement une chose et devient cette chose, soit il ne correspond à rien, et c'est une erreur. Vous êtes dans le second cas. Notez bien que cette erreur tombe à l'analyse, avant que rien ne s'exécute, et pas pendant le déroulement. La raison est de principe : quand l'analyse est terminée, plus aucun nom ne survit, tout est devenu coordonnée. Un nom qui n'a rien trouvé n'aura donc jamais un autre moment pour être cherché, car chercher plus tard serait une recherche, et la loi l'interdit. Le message nomme le mot fautif et la portée où il a été cherché : un nom simple n'atteint que sa propre portée, puis son module, et nulle part ailleurs. Un petit exemple : vous utilisez prix alors que vous avez écrit prixx plus haut. Vérifiez l'orthographe, la déclaration et le module. Une fois le nom déclaré, il sera lié.

Texte issu du catalogue d'erreurs du moteur Rush.