RX0065

Domaine: Analyse syntaxique

Message d'erreur

une ligne qui ne contient qu'une valeur n'est pas une instruction : %s (%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 une ligne qui ne contient qu'une valeur, et le moteur a dit que ce n'est pas une instruction. Voyons ce que cela veut dire. Une instruction fait quelque chose : elle lie une variable, appelle un builtin, route le programme, ou répond. Mais une ligne qui n'est qu'un cinq, qu'un texte entre guillemets, qu'un null ou qu'un chemin ne fait strictement rien. Dit avec humour : c'est comme prendre toute une ligne pour écrire cinq, ça n'a aucun sens, et null est une valeur. Que pourrait faire le moteur ? Évaluer la valeur et la jeter, en silence. Mais c'est justement le genre de ligne qu'on écrit par erreur, par exemple en oubliant un appel devant. Si le moteur l'acceptait, l'erreur passerait inaperçue, et votre programme semblerait fonctionner. Alors il refuse à l'analyse, avant même l'exécution. Un exemple : une ligne qui ne contient que le mot null, au milieu de votre script. Le message cite la ligne fautive. Pour corriger, soit vous supprimez cette ligne, soit vous écrivez ce que vous vouliez vraiment faire : lier la valeur à un nom, la passer à un appel, ou la retourner.

Texte issu du catalogue d'erreurs du moteur Rush.