Mensaje de error
En el mensaje, %s marca un valor que el motor completa cuando lanza el error.
La historia
El motor no arrancó porque la ley de estados está mal, o no se puede leer. Esa ley es el catálogo de movimientos permitidos: qué estados existen, qué pasos van de uno a otro y cuáles son los estados finales. Todo está declarado una sola vez, en gate.feml, y se comprueba antes de ejecutar nada. Este rechazo cubre dos cosas. Primera: el archivo no se pudo leer. Segunda, más interesante: la ley se leyó, pero tiene un defecto de diseño. Puede tener un estado sin salida, lo que el diseño llama un cuelgue con nombre: un lugar donde se entra y no se sale. O un estado terminal que sí tiene una flecha de salida, un final que no termina. Ambas son propiedades de la ley, no de una ejecución concreta, y el motor las comprueba al nacer preguntando a tungsten por cada par de estados. Si encuentra alguna, prefiere no arrancar a lanzar el cuelgue que acaba de descubrir. El mensaje dice cuál: la ruta y el error de lectura, o los conteos de estados sin salida y de terminales con fuga. Qué hacer: corrige gate.feml, dando salida a todo estado no terminal y quitando las flechas de salida de los terminales.
Texto del catálogo de errores del motor de Rush.
