RX0046

Dominio: Análisis sintáctico

Mensaje de error

la ranura `:` no nombra ni un leaf de regla declarado ni una cadena de reglas que tungsten admita: %s (%s)

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

La historia

Después de un valor, escribiste dos puntos y una regla, y el motor no supo qué era. Los dos puntos tras un bind son un espacio para auto-imponerte reglas. Hoy hay dos reglas básicas declaradas: inmutable, que impide reescribir la celda, y mutable, que lo permite. Además, puedes escribir una cadena de reglas, formada por un tipo y operaciones de tungsten, por ejemplo number punto ge de uno punto le de sesenta y cinco mil quinientos treinta y cinco. Esa cadena sirve igual en un bind, en un parámetro o tras una flecha. Pero aquí la palabra no era ninguna regla declarada, ni una cadena válida: quizá el tipo no existe, o la operación no se conoce. El motor la rechaza en vez de ignorarla, porque una regla ignorada es una restricción que tú crees activa y no lo está. El mensaje trae la palabra tal como la escribiste y el lugar. Revisa la ortografía: usa immutable o mutable, o una cadena cuyo tipo esté en types.feml y cuyas operaciones tungsten conozca. Una regla que no se aplica es peor que ninguna.

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