RX0032

Domínio: Motor

Mensagem de erro

a lei de estados em %s não pôde ser materializada (%s)

Na mensagem, %s marca um valor que o motor preenche quando levanta o erro.

A história

O motor se recusou a nascer por causa de um problema na lei dos estados. Veja como isso funciona. No rush, os movimentos permitidos entre estados, quais estados existem, quais são terminais e como tudo é indexado, ficam declarados uma única vez, no arquivo gate.feml, em src/engine/gate. Nada espalhado pelo código. Antes de qualquer coisa rodar, o motor confere a lei em si. Esta recusa tem duas faces. Na primeira, o arquivo não pôde ser lido ou materializado, e a mensagem traz o caminho e o motivo. Na segunda, mais valiosa, a lei foi lida, mas é defeituosa: tem um estado sem saída, que o projeto chama de um travamento com nome, ou um estado terminal que ainda tem uma aresta saindo, ou seja, um terminal que não absorve. São defeitos da lei, não de uma execução, e o motor os mede no nascimento. Imagine um mapa de metrô com uma estação de onde nenhum trilho sai: quem entra nunca mais sai. A mensagem informa as contagens. Corrija o gate.feml, ligando ou removendo esses estados, e reconstrua.

Texto do catálogo de erros do motor do Rush.