THPDFContentSyntaxNode Record
یک گرهٔ فشردهٔ درخت نحو جریان محتوا را با فرزندان پیوندی و بازههای lexeme بازنمایی میکند
اعلان
THPDFContentSyntaxNode= record
Kind: THPDFContentSyntaxNodeKind;
ParentIndex: Integer;
FirstChildIndex: Integer;
LastChildIndex: Integer;
NextSiblingIndex: Integer;
ChildCount: Integer;
FirstLexemeIndex: Integer;
LastLexemeIndex: Integer;
OperatorLexemeIndex: Integer;
StartOfs: Integer;
EndOfs: Integer;
end;
واحد
HPDFContentStream
فیلدها
| فیلد | هدف |
|---|---|
Kind | کلاس گره: csnkRoot، csnkOperation، csnkOperand، csnkArray، csnkDictionary، csnkProcedure، csnkInlineImage یا csnkMalformed |
ParentIndex | اندیس گرهٔ والد، وقتی والدی تنظیم نشده باشد -1 |
FirstChildIndex | اندیس نخستین گرهٔ فرزند، وقتی گره فرزندی ندارد -1 |
LastChildIndex | اندیس آخرین گرهٔ فرزند |
NextSiblingIndex | اندیس sibling بعدی، در انتهای فهرست فرزندان -1 |
ChildCount | شمار فرزندان مستقیم گره |
FirstLexemeIndex | نخستین lexeme پوششدادهشده توسط گره در آرایهٔ lexemeها |
LastLexemeIndex | آخرین lexeme پوششدادهشده توسط گره |
OperatorLexemeIndex | lexeme حامل اپراتورِ یک گرهٔ operation، برای انواع دیگر گره -1 |
StartOfs | آفست بایتی آغاز بازهٔ منبع گره |
EndOfs | آفست بایتی درست بعد از پایان بازهٔ منبع گره |
یادداشتهای استفاده
- گرههای operation مالک operandهای خودند و lexeme اپراتور را جداگانه از طریق
OperatorLexemeIndexشناسایی میکنند - گرههای ظرف، آرایهها، دیکشنریها و رویههای تودرتو را بدون نرمالکردن املأ اصلی نگه میدارند، پس ویرایشها token-preserving میمانند
- گرهها را از طریق
THPDFContentStreamAST.GetNodeبخوانید، نه با دستزدن مستقیم به آرایهٔ داخلی گرهها