cpiRootElement

Finalidad

Esta función obtiene la dirección del elemento de sintaxis raíz del objeto de analizador especificado.

Sintaxis

CciElement* cpiRootElement(
  int*        returnCode,
  CciParser*  parser);

Parámetros

returnCode
Recibe el código de retorno de la función (salida).
parser
Especifica la dirección del objeto de analizador (entrada).

Valores de retorno

Se devuelve la dirección del elemento de sintaxis raíz. Si se produce un error, se devuelve cero (CCI_NULL_ADDR), y returnCode indica la causa de dicho error.

Ejemplo

Este ejemplo se ha tomado del archivo de analizador de ejemplo BipSampPluginParser.c (de la línea 428 a la 470):

int cpiParseBufferEncoded(
  CciParser*  parser,
  CciContext* context,
  int         encoding,
  int         ccsid
){
  PARSER_CONTEXT_ST* pc = (PARSER_CONTEXT_ST *)context ;
  int                rc;

  /* Obtener un puntero al almacenamiento intermedio de mensajes y   */
  /* establecer el desplazamiento                                    */
  pc->iBuffer = (void *)cpiBufferPointer(&rc, parser);
  pc->iIndex = 0;

  /* Guardar el formato del almacenamiento intermedio                */
  pc->iEncoding = encoding;
  pc->iCcsid = ccsid;

  /* Guardar el tamaño del almacenamiento intermedio                 */
  pc->iSize = cpiBufferSize(&rc, parser);

  /* Preparar el primer byte de la corriente de datos                */
  pc->iCurrentCharacter = cpiBufferByte(&rc, parser, pc->iIndex);

  /* Establecer el elemento actual en el elemento raíz               */
  pc->iCurrentElement = cpiRootElement(&rc, parser);

  /* Restablecer distintivo para garantizar que el análisis esté     */
  /* restablecido correctamente                                      */
  pc->iInTag = 0;

  /* Asumiremos la propiedad del resto del almacenamiento intermedio */
  return(pc->iSize);
}

Conceptos relacionados
Analizadores definidos por el usuario
Extensiones definidas por el usuario

Tareas relacionadas
Creación de un analizador en C

Referencia relacionada
Funciones de programa de utilidad de analizador