RX0032

Domaine: Moteur

Message d'erreur

la loi d'état à %s n'a pas pu être matérialisée (%s)

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

L'histoire

Le moteur a refusé de naître, parce que la loi des états est illisible ou défectueuse. Voyons ce que contient cette loi. Dans rush, l'ensemble des mouvements autorisés est déclaré une seule fois, comme donnée, dans le fichier gate.feml : les états, les arêtes entre eux, les états terminaux et la clé de découpage. Et cette loi est vérifiée avant que quoi que ce soit ne tourne. Ce refus couvre deux situations. La première : le fichier ne peut pas être lu. La seconde, plus intéressante : il se lit, mais la loi est mal construite. Deux défauts sont traqués. Un état sans issue, qui est une panne avec un nom : on y entre, on n'en sort plus. Et un état terminal doté d'une arête sortante, donc un terminal qui n'absorbe pas. Ces défauts sont des propriétés de la loi elle-même, pas d'une exécution précise, et le moteur les mesure à la naissance en interrogeant chaque paire d'états. Mieux vaut refuser de naître que de livrer la panne que la loi décrit. Le message précise le cas : soit le chemin et l'échec de lecture, soit le nombre d'états sans issue et de terminaux qui fuient. Corrigez la loi, et relancez.

Texte issu du catalogue d'erreurs du moteur Rush.