THPDFContentSyntaxNode Record
Repräsentiert einen kompakten Knoten des token-bewahrenden Content-Stream-Syntaxbaums mit verknüpften Kindern und Lexem-Spans
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;
Unit
HPDFContentStream
Felder
| Feld | Zweck |
|---|---|
Kind | Knotenklasse: csnkRoot, csnkOperation, csnkOperand, csnkArray, csnkDictionary, csnkProcedure, csnkInlineImage oder csnkMalformed |
ParentIndex | Index des Elternknotens, -1 wenn kein Elternknoten gesetzt ist |
FirstChildIndex | Index des ersten Kindknotens, -1 wenn der Knoten keine Kinder hat |
LastChildIndex | Index des letzten Kindknotens |
NextSiblingIndex | Index des nächsten Geschwisterknotens, -1 am Ende einer Kinderliste |
ChildCount | Anzahl direkter Kindknoten |
FirstLexemeIndex | Erstes vom Knoten im Lexem-Array abgedecktes Lexem |
LastLexemeIndex | Letztes vom Knoten abgedecktes Lexem |
OperatorLexemeIndex | Lexem, das den Operator eines Operationsknotens hält, -1 für andere Knotenarten |
StartOfs | Byte-Offset, an dem der Quell-Span des Knotens beginnt |
EndOfs | Byte-Offset direkt hinter dem Quell-Span des Knotens |
Verwendungshinweise
- Operationsknoten besitzen ihre Operanden und identifizieren das Operator-Lexem separat über
OperatorLexemeIndex - Containerknoten behalten verschachtelte Arrays, Dictionaries und Prozeduren ohne Normalisierung ihrer ursprünglichen Schreibweise, sodass Bearbeitungen token-bewahrend bleiben
- Lesen Sie Knoten über
THPDFContentStreamAST.GetNode, statt das interne Knoten-Array direkt anzufassen