THPDFContentSyntaxNode Record
Representerar en kompakt nod i det tokenbevarande syntakstreet för innehållsströmmar, med länkade barn och lexemspänn
Deklaration
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;
Enhet
HPDFContentStream
Fält
| Fält | Syfte |
|---|---|
Kind | Nodklass: csnkRoot, csnkOperation, csnkOperand, csnkArray, csnkDictionary, csnkProcedure, csnkInlineImage eller csnkMalformed |
ParentIndex | Index för föräldernoden, -1 när ingen förälder är satt |
FirstChildIndex | Index för den första barnnoden, -1 när noden inte har några barn |
LastChildIndex | Index för den sista barnnoden |
NextSiblingIndex | Index för nästa syskonnod, -1 i slutet av en barnlista |
ChildCount | Antal direkta barnnoder |
FirstLexemeIndex | Första lexemet som noden täcker i lexemmatrisen |
LastLexemeIndex | Sista lexemet som noden täcker |
OperatorLexemeIndex | Lexemet som innehåller en operationsnods operatör, -1 för andra nodtyper |
StartOfs | Byteoffset där nodens källspänn börjar |
EndOfs | Byteoffset strax efter nodens källspänn |
Användningsanteckningar
- Operationsnoder äger sina operander och identifierar operatörslexemet separat via
OperatorLexemeIndex - Containernoder behåller nästlade matriser, ordböcker och procedurer utan att normalisera deras ursprungliga stavning, så att redigeringar förblir tokenbevarande
- Läs noder via
THPDFContentStreamAST.GetNodei stället för att röra den interna nodmatrisen direkt