cpiRootElement

Finalidad

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).
Los códigos de retorno posibles son:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_PARSER_OBJECT
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 razón del error.

Ejemplo

Este ejemplo se ha tomado del archivo de analizador de ejemplo BipSampPluginParser.c (líneas 428 a 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 mensaje 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);

  /* Cargar el primer byte en 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 el distintivo para asegurar que el análisis se restablece correctamente */
  pc->iInTag = 0;

  /* Se supondrá 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 en C
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
as08300_