RX0001

Dominio: Tiempo de ejecución

Mensaje de error

no se encontró el builtin %s en la ley de ejecución

En el mensaje, %s marca un valor que el motor completa cuando lanza el error.

La historia

Acabas de ejecutar un script y, de golpe, el motor se detiene y te dice que no encuentra un builtin en la ley de ejecución. Vamos a desmenuzarlo. La ley de ejecución es una lista que el motor tiene a mano, con cada builtin que sabe ejecutar, y todos están declarados en builtins.feml. Cuando tu script llama a un builtin, el motor busca su nombre en esa lista. Esta vez, el nombre no está: o nunca se declaró, o se declaró y luego lo desenchufaron. Y ojo, lo importante: normalmente esto no es una errata tuya, porque un nombre mal escrito lo frena antes otro mensaje más amable. Llegar hasta aquí significa que el parser o el lowerer generó una llamada a algo que no existe, o que el builtin está declarado pero sin su código conectado. Es como un nombre tachado en la guía telefónica: el número ya no está, pero alguien sigue marcando. La solución está del lado del motor: comprueba que el builtin esté declarado en builtins.feml y bien conectado. Si solo escribes scripts, repórtalo, porque descubriste un hueco del motor, no un fallo de tu código. Recuerda: el mensaje te dice qué nombre falló; empieza por ahí.

Texto del catálogo de errores del motor de Rush.