Erros de edição de regra de ação e avisos
Os tipos de erros e avisos que Designer de regra relata quando você edita uma regra de ação, onde o erro ou aviso é relatado, e as etapas de correção que você pode tomar estão descritas nas seções a seguir.
Erros Lexicais
Os erros Lexicais ocorrem quando uma palavra na regra não é reconhecida e são relatados quando você digina uma regra no editor Intellirule.
Modifique o texto da regra para seguir a sintaxe especificada pela gramática do idioma e pelo vocabulário definido no aplicativo. Mensagens de erro podem ajudar, mas não todas as vezes. A conclusão de código e o uso do vocabulário podem ser usados para aprender a sintaxe exata de frase do vocabulário.
Erros sintáticos
Os erros sintáticos são relatados quando uma instrução de regra não é bem formada assim que você digita uma regra no editor Intellirule.
Modifique o texto da regra para seguir a sintaxe especificada pela gramática do idioma e pelo vocabulário definido no aplicativo. Mensagens de erro podem ajudar, mas não todas as vezes. A conclusão de código e o uso do vocabulário podem ser usados para aprender a sintaxe exata de frase do vocabulário.
Erros semânticos
Os erros semânticos são relatados quando o texto da regra é sintaticamente correto mas sua interpretação está errada assim que você digita uma regra no editor Intellirule.
Para os erros semânticos, deve-se considerar a revisão do texto das regras para cumprir a semântica linguística e com regras semânticas que poderiam ter sido criadas (por exemplo, domínios BOM).
Erros de consistência
Os erros de consistência são relatados pelo verificador de consistência na hora da construção. Por exemplo, um erro de consistência é levantado se uma regra contém testes incompatíveis, ou um teste que é sempre falso.
Você pode desativar o verificador de consistência nas preferências de construção do Rule Designer .
ambiguidades
As ambiguidades podem ocorrer nos seguintes casos:
Uma parte da regra tem pelo menos duas interpretações que são semanticamente corretas. Você pode usar parênteses, variáveis intermediárias ou pontuação se ele estiver disponível no enunciado, para tornar a regra não ambígua.
Há dois termos ou frases idênticos no vocabulário. Mudar um dos termos ou frases no vocabulário pode remover a ambiguidade.
As tabelas a seguir listam mensagens de erro que você pode ver ao editar uma regra de ação.
| Mensagem | Descrição |
|---|---|
| A ruleset parameter <parameter name> is already declared. | Parâmetro de ruleset Já declarado Uma variável declarada tem o mesmo nome de um parâmetro de ruleset declarado em um tipo. |
| A ruleset variable <variable name> is already declared. | Variável de ruleset Já declarada Uma variável declarada tem o mesmo nome de uma variável de ruleset declarada em um tipo. |
| Ambiguous sentence. | Sentença Ambígua Parte da regra tem pelo menos duas interpretações que são semanticamente corretas. Use parênteses, variáveis intermediárias ou pontuação se disponível no enunciado. Há dois termos ou frases idênticos no vocabulário. Altere um dos termos ou frases no vocabulário. |
| An automatic variable <variable name> is already declared. | Variável Automática Já Declarada Uma variável declarada tem o mesmo nome da variável automática declarada em um tipo. |
| Can't specify else clause without if clause. | Else Sem Se Uma parte do else foi especificada, mas não há nenhuma se parte na regra. |
| Invalid cardinality <cardinality>, it is incompatible with <cardinality> | Cardinalidade Inválida A cardinalidade dada (única ou múltipla) não é compatível com a solicitada. |
| Invalid type <type name>, it is not assignable from type <type name> | Não Assignável De Um determinado tipo é não pode ser atribuído a partir de um tipo solicitado. Por exemplo:
|
| Invalid value (<type name>) <value text> | Valor inválido Um erro sobre o valor foi relatado por um descritor de valor associado ao tipo de valor (verificação de valor). |
| Invalid variable <variable name> for expected type <a type>. | Variável Inválida O tipo de uma variável não é compatível com o tipo solicitado. |
| Number must be integer. | Valor Não Inteiro Um valor inteiro deve ser especificado. |
| Value is not in domain. | Valor Não No Domínio Um domínio BOM foi especificado e o valor usado na regra está violando esse domínio. |
| Value is out of the range | Um domínio do BOM de intervalo foi especificado e o valor usado na regra está fora deste intervalo. |
| Only values are expected. | Expressão Inválida Expressões como sentenças, variáveis e construções de gramática não são válidas. Apenas expressões de valor são aceitas. |
| Incompatible sentence, due to incompatible precedence | Algumas operadoras são incompatíveis com os tipos utilizados na sentença. Por exemplo, na frase |
| Origin type: <type name> is not a super type of target type: <type name>. | Não Super Tipo De Um tipo não é um subtipo do tipo solicitado. Por exemplo:
O tipo solicitado éString( |
| The variable <variable name> cannot be used, a variable of that type is already declared. | Variável de Variável Automática Não é possível utilizar a variável automática de um tipo, em que há uma variável global desse tipo já declarada. |
| The variable <variable name> is not assignable. | Variável Não Assignável A variável não pode ser atribuída. |
| The word <word> is expected in place of <word>. | Mutação do Toque Uma palavra na regra está errada, e o mecanismo de recuperação de erros sugere outro. |
| The word <word> is missing. | Token ausente Falta uma palavra na regra. |
| The word <word> is not required. | Token Inserido Uma palavra foi inserida no lugar errado na regra. |
| Unknown word: <word>. | token desconhecido Uma palavra não é reconhecida. Isso geralmente ocorre com um valor malformado. |
| The phrase <phrase> is not required. | Não implementado Uma frase completa está no local errado e deve ser removida para corrigir a regra. |
| The phrase <phrase> is missing. | Não implementado Falta uma frase completa no texto. Complete a frase para corrigir a regra. |
| No term <term> found. | O Termo Não Existe Há uma referência a um termo que não está no vocabulário. |
| No navigation phrase <phrase> (of subject <subject>) found on term <term>. | A sentença de navegação em um determinado termo não existe no vocabulário. |
| No action phrase <phrase> (of subject <subject>) found on term <term>. | A sentença de ação sobre um determinado termo não existe no vocabulário. |
| No automatic variable <variable> found. | A variável automática não é declarada automática em um termo, ou um termo não existe no vocabulário. |
| Too many errors. Cannot recover from errors. | A regra contém muitos erros para corrigir. |
| Invalid variable name: <variable>, the characters: <character> are not allowed. | Nome / Caráter Inválido O nome da variável é inválido e contém um ou mais dos seguintes caracteres inválidos: ' " \n \r \t / ( ) , ; |
| Unknown phrase, did you mean: <phrase>? | Frase Desconhecida Uma frase no texto é incorreta mas semelhante a uma sentença correta existente. A mensagem sugere a sentença correta. |
| Value (<value type>) <value text> is incorrect. <a message> | Erro de valor Um erro sobre o valor foi relatado por um valor info associado a uma função na frase (verificação de valor). Se o valor for usado em um local onde um domínio BOM é definido, esse erro será gerado se o valor violar o domínio BOM. |
| Variable <variable name> already declared. | Variável Já Declarada Uma variável desse nome já está declarada. |
| Variable <variable name> is not declared. | Variável Não Declarada Uma referência a uma variável que ela não é declarada. |
A tabela a seguir lista os avisos mais atuais que você pode ver ao editar uma regra de ação.
| Mensagem | Descrição |
|---|---|
| <an element> is deprecated | Elemento Reprovado Um elemento reprovado (tipo, constante ou frase) tem sido usado na regra.Deprecatedé uma propriedade definida em um elemento de negócio. |
| Can not bind value types. | Um tipo de valor como número, string e assim por diante não pode ser usado em uma ligação. |
| Category(ies) (<categories>) defined on phrase <a phrase> does not match the rule category filter. | Categoria Frase Inválida A frase não se destina a ser usada na regra, pois as categorias dessa frase não correspondem ao filtro de categoria de regra. |
| Category(ies) (<categories>) defined on term <a term> does not match the rule category filter. | Categoria Termo Inválido O termo não se destina a ser utilizado na regra, pois as categorias desse termo não correspondem ao filtro de categoria de regra. |
| Category(ies) (<categories>) defined on type of variable <variable name> does not match the rule category filter. | Categoria Variável Inválida A variável não se destina a ser declarada na regra, pois as categorias do tipo variável não correspondem ao filtro de categoria de regra. |
| Category(ies) (<categories>) defined on value <a constant> does not match the rule category filter. | Categoria Constante inválida A constante não se destina a ser utilizada na regra, pois as categorias dessa constante não correspondem ao filtro de categoria de regra. |
| Predicate not applicable to value types. | Predicado Não Aplicável O predicado não é aplicável ao tipo de valor, como número, cadeia e assim por diante. |
| The construct <construct> is deprecated. | Construa Reprovada Uma construção de gramática reprovada (emitida a partir da definição de esquema XML do idioma) foi utilizada na regra. |
| The (part of the) rule execution may be unsafe: <message>. | Servidor de Execuções de Regra A regra tenta configurar um atributo para um valor fora de seu domínio. |
| The (part of the) rule is never applicable because <message>. | A regra nunca se aplica porque suas condições nunca podem ser cumpridas. Isso geralmente é causado por erros de lógica simples na regra. |
| The rule is incomplete, fill all the placeholders. | Regra incompleta Uma regra tem pelo menos um colocador vazio. |
| Value (<value type>) <value text> is incorrect. <a message> | Aviso de Valor Um aviso sobre o valor foi relatado por um valor info associado a uma função na frase (verificação de valor). |
| Variable <variable name> is not used. | Variável Não Usada Uma variável é declarada mas não utilizada. |