この関数は、指定した構文エレメントの最後の子を構文解析します。 これは、現行の構文エレメントの最後の子エレメントが必要な場合に、ブローカーによって呼び出されます。
定義されている場所 | タイプ | メンバー |
---|---|---|
CPI_VFT | 必須 | iFpParseLastChild |
void cpiParseLastChild(
CciParser* parser,
CciContext* context,
CciElement* currentElement);
なし。
この例は、サンプル・パーサー・ファイル BipSampPluginParser.c から取られています。
void cpiParseLastChild(
CciParser* parser,
CciContext* context,
CciElement* element
){
PARSER_CONTEXT_ST* pc = (PARSER_CONTEXT_ST *)context ;
int rc;
if ((cpiElementType(&rc, element) == CCI_ELEMENT_TYPE_NAME)) {
while ((!cpiElementCompleteNext(&rc, element)) &&
(pc->iCurrentElement))
{
pc->iCurrentElement = parseNextItem(parser, context, pc->iCurrentElement);
}
}
if (pc->trace) {
fprintf(pc->tracefile, "PLUGIN: <- cpiParseLastChild()¥n");
fflush(pc->tracefile);
}
return;
}
このコードの目的は、エレメントの子を、最後の子に達するまで構文解析することです。 エレメントの最後の子のビット・ストリーム内における正確なオフセットがまだ分からないパーサーでは、この種の構造を使用できます。