Message d'erreur
Dans le message, %s marque une valeur que le moteur remplit au moment où il lève l'erreur.
L'histoire
Le moteur vient de refuser de naître parce que vous avez déclaré trop de types. Détaillons. La loi des types est une table statique, avec un plafond de lignes décidé à l'avance. Pourquoi ce choix ? Pour que la taille du moteur soit un fait connu, et non un pari sur la mémoire disponible. Tous les types déclarés sont matérialisés dans une même arène, où autant d'arbres que nécessaire peuvent cohabiter, mais le nombre de lignes reste borné. Ici, le fichier types.feml en contient davantage que ce que le moteur peut porter. Il aurait pu couper la liste et continuer, mais ce serait dangereux : un type coupé en route est un type qui ne juge plus rien, et des valeurs passeraient sans contrôle. Alors il préfère s'arrêter net. Pensez à un ascenseur affichant une charge maximale : il refuse de monter plutôt que de laisser la cabine s'effondrer. Le message vous donne la limite atteinte et le type où elle a été franchie. Pour déclarer plus de types, relevez la constante LAWMAKER_TYPE_MAX dans le fichier lawmaker.h, recompilez, et le moteur naîtra avec la place nécessaire. Un refus bruyant plutôt qu'une troncature silencieuse.
Texte issu du catalogue d'erreurs du moteur Rush.
