cpiParseLastChild

目的

指定される構文エレメントの最後の子を構文解析します。 これは、現行の構文エレメントの最後の子エレメントが必要な場合に、ブローカーによって呼び出されます。
定義されている場所 タイプ メンバー
CPI_VFT 必須 iFpParseLastChild

構文

void cpiParseLastChild(
    CciParser*  parser,
    CciContext* context,
  CciElement*  currentElement);

パラメーター

parser
パーサー・オブジェクトのアドレス (入力)。
context
プラグイン・コンテキストのアドレス (入力)。
currentElement
現行の構文エレメントのアドレス (入力)。

戻り値

なし。

サンプル

この例は、サンプル・パーサー・ファイル BipSampPluginParser.c から取られています (515 行~ 544 行)。

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;
}

このコードの目的は、エレメントの子を、最後の子に達するまで構文解析することです。 エレメントの最後の子のビット・ストリーム内における正確なオフセットがまだ分からないパーサーでは、この種の構造を使用できます。

関連概念
ユーザー定義のパーサー
ユーザー定義拡張機能

関連タスク
C でのパーサーの作成

関連資料
cpiParseFirstChild
パーサー・インプリメンテーション関数