Gramáticas

Una gramática de análisis válida contiene:

  • Una variable raíz que define la secuencia de muestras o el patrón de dominio como variables de raíz.
  • Las variables de regla que definen el conjunto válido de caracteres y la secuencia en que pueden aparecer para ser considerados como miembro de un patrón de dominio. Para obtener más información, consulteComandos de la sección Regla.
  • El campo de entrada por analizar. El campo de entrada designa el campo por analizar en los registros de datos de origen.
  • Los campos de salida de los datos analizados resultantes. Los campos de salida definen dónde almacenar cada muestra resultante que es analizada.
Una gramática de análisis válida también contiene otros comandos opcionales para lo siguiente:
  • Los caracteres usados para formar muestras de los datos de entrada que está analizando: Los caracteres que forman muestras son caracteres, como el espacio y el guión, que determinan el comienzo y el final de una muestra. El caracter de muestra predeterminado es un espacio. Los caracteres que forman muestras son la forma principal de dividir una secuencia de caracteres en un conjunto de muestras. Es posible configurar el comando de formación de muestras en NINGUNO para evitar que se formen muestras de un campo. Cuando la función de formación de muestras está configurada en Ninguno, las reglas de gramática deben incluir todos los espacios dentro de la definición de regla.
  • Opciones de distinción de mayúsculas y minúsculas para las muestras en los datos de entrada.
  • Carácter de unión para delimitar muestras coincidentes.
  • Comparación de muestras en tablas
  • Comparación de muestras compuestas en tablas
  • Definición de etiquetas RegEx
  • Cadena de caracteres literales entre comillas
  • Cuantificadores de expresión (opcional). Para obtener más información sobre cuantificadores de expresión, consulte Comandos de la sección Regla y Cuantificadores de expresión: comportamiento expansivo, reacio y posesivo.
  • Otros indicadores varios para agrupar, comentar y realizar asignaciones (opcional). Para obtener más información sobre expresiones agrupadas, consulte Operador de agrupación ( ).

Las variables de regla en su gramática de análisis forman una estructura de árbol con capas de la secuencia de caracteres o muestras en un patrón de dominio. Por ejemplo, puede crear una gramática de análisis que defina un patrón de dominio basado en datos de entrada de nombre que incluyan las muestras <FirstName>, <MiddleName> y<LastName>.



Uso de los datos de entrada:

Joseph Arnold Cowers 

Es posible representar esa cadena de datos como tres muestras de un patrón de dominio:

<root> = <FirstName><MiddleName><LastName>; 

Las variables de regla para este patrón de dominio son:

<FirstName> = <given>; 
<MiddleName> = <given>; 
<LastName> = @Table("Family Names"); 
<given> = @RegEx("[A-Za-z]+"); 

Según este ejemplo de gramática simple, Open Parser forma muestras con espacios e interpreta la muestraJoseph como nombre porque los caracteres de la primera muestra coinciden con la definición [A-Za- z]+ y la muestra está en la secuencia definida. De forma opcional, cualquier expresión puede estar seguida de otra expresión.

Ejemplo

<variable> = "some leading string" <variable2>;

<variable2> = @Table ("given") @RegEx("[0-9]+");

Una regla gramatical es una instrucción gramatical en la que una variable es equivalente a una o más expresiones. Cada regla gramatical sigue esta forma:

<rule> = expression [| expression...];

Las reglas gramaticales deben seguir estas reglas:

  • <root> es un nombre de variable especial y es la primera regla ejecutada en la gramática porque define el patrón de dominio.Ninguna otra regla en la gramática puede hacer referencia a <root>.
  • Una variable <rule> no puede referirse a sí misma directa o indirectamente. Cuando la regla A hace referencia a la regla B, que hace referencia a la regla C, que a su vez hace referencia a A, se crea una referencia circular. No se permiten referencias circulares.
  • Una variable <rule> es igual a una o más expresiones.
  • Cada expression está separada por "O", que se indica utilizando el carácter de barra vertical "(|)".
  • Las expresiones pueden examinarse una por una. Se selecciona la primera expression a cruzar. No se examinan nuevas expresiones.
  • El nombre de variable puede estar compuesto por letras, números, guión bajo (_) y guión (-). El nombre de la variable puede comenzar con cualquier carácter válido. Si el nombre del campo de salida especificado no cumple con esa forma, use la función de alias para asignar el nombre de la variable al campo de salida.

Una expresión puede ser cualquiera de los siguientes tipos:

  • Otra variable
  • Una cadena consistente en uno o más caracteres entre comillas simples o dobles. Por ejemplo:

    "McDonald" 'McDonald' "O'Hara" 'O\'Hara' 'D"har' "D\"har"

  • Tabla
  • CompoundTable
  • Comandos RegEx