Errores de vocabulario y advertencias

Si tiene ambigüedades de vocabulario, marcadores de posición que faltan o problemas en elementos de negocio, Diseñador de reglas genera errores y avisos en términos y frases durante la edición o la compilación.

Los elementos de vocabulario, como, por ejemplo, términos, frases, artículos y constantes, pueden estar formados por una o más palabras, denominadas unidades léxicas. Estas unidades léxicas deben cumplir con reglas léxicas específicas. Los elementos de vocabulario deben ser no ambiguos. No puede verbalizar dos clases con el mismo término y no puede verbalizar dos miembros con la misma frase.

Términos

Los términos no deben estar en conflicto con los elementos de lenguaje de reglas de negocio y System BOM. Por ejemplo, si una palabra en un término se puede interpretar como un número, se obtiene un error.

Los errores de ambigüedad se notifican localmente cuando se edita un vocabulario en el mismo archivo de vocabulario y se informa globalmente durante la compilación si la ambigüedad procede de los términos duplicados en dos archivos separados.

Frases

En las frases, puede utilizar cada tipo de marcador sólo una vez.

Obtendrá el siguiente mensaje de bienvenida:

  • Si el marcador de asunto no se utiliza en una frase de navegación

  • Si falta el marcador {this}

Puede establecer una preferencia para ignorar estos avisos.

Los errores en las frases también pueden provenir de su elemento de negocio relacionado:

  • Una frase de acción para un atributo de sólo lectura o final

  • Una frase de navegación para un atributo de solo escritura

Tabla 1. Ejemplos de errores de vocabulario
Mensaje Descripción
El carácter > está prohibido. Un elemento de vocabulario utiliza un carácter prohibido. Este error se notifica al editar el vocabulario.
El carácter > en término para la clase balsample.Book está prohibido. Un elemento de vocabulario utiliza un carácter prohibido. Este error se notifica a la hora de compilación.
El libro de términos está duplicado. El término ya lo utiliza otra clase en el archivo de vocabulario actual.
Conflicto léxico en el I-target de producción (balsample.Book, SINGLE, INDEFINITE_ARTICLE, _, _, _, _)-> 'a' "book" "12" que espera la construcción "12" y que tiene la construcción "<ilog.rules.brl.Number>" Conflicto léxico: la unidad léxico 12 del término asociado a la clase Book se interpreta como un número.
Falta el marcador "author" en "balsample.Book: author" Falta el marcador de asunto (author) en la frase asociada al miembro balsample.Book.author.
Verbalización duplicada: [balsample.Book: author] y [balsample.Book: title] Los miembros balsample.Book.author y balsample.Book.title tienen la misma verbalización.
La frase de acción no está permitida para "balsample.Book: author" (el miembro es de solo lectura) El atributo es de sólo lectura y no debe verbalizarse como una frase de acción.
La frase de navegación no está permitida para "balsample.Book: author" (el miembro es de solo escritura) El atributo es de sólo escritura y no debe verbalizarse como una frase de navegación.

Delimitadores en números

Las comas y los espacios se utilizan para separar partes de reglas y expresiones. En determinados entornos locales, también sirven como delimitadores en números:

  • Se puede utilizar una coma para agrupar tres dígitos, como en 10,000.
  • También se puede utilizar un espacio para agrupar tres dígitos, como en 10 000.
  • Una coma se puede utilizar como una marca decimal, como en 3,14159265.

Siga estas instrucciones para evitar problemas a la hora de expresar números:

  • Cuando sea posible, no utilice dígitos en verbalizaciones.
  • Cuando utilice dígitos, evite los separadores de espacio y coma entre dígitos, especialmente si estos caracteres son delimitadores de grupo válidos o marcadores decimales en el entorno local del vocabulario.
  • Si una verbalización debe contener dígitos separados por espacios o comas, ponga los números entre comillas dobles, por ejemplo, "3,14159265".