Enregistrement THPDFContentSyntaxNode
Représente un nœud compact de l'arbre syntaxique de flux de contenu préservant les tokens, avec ses enfants liés et ses plages de lexemes
Déclaration
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
Champs
| Champ | Objectif |
|---|---|
Kind | Classe du nœud : csnkRoot, csnkOperation, csnkOperand, csnkArray, csnkDictionary, csnkProcedure, csnkInlineImage ou csnkMalformed |
ParentIndex | Index du nœud parent, -1 quand aucun parent n'est défini |
FirstChildIndex | Index du premier nœud enfant, -1 quand le nœud n'a pas d'enfants |
LastChildIndex | Index du dernier nœud enfant |
NextSiblingIndex | Index du frère suivant, -1 en fin de liste d'enfants |
ChildCount | Nombre de nœuds enfants directs |
FirstLexemeIndex | Premier lexeme couvert par le nœud dans le tableau de lexemes |
LastLexemeIndex | Dernier lexeme couvert par le nœud |
OperatorLexemeIndex | Lexeme portant l'opérateur d'un nœud d'opération, -1 pour les autres sortes de nœuds |
StartOfs | Décalage d'octet où démarre la plage source du nœud |
EndOfs | Décalage d'octet juste après la plage source du nœud |
Notes d'utilisation
- Les nœuds d'opération possèdent leurs opérandes et identifient séparément le lexeme d'opérateur via
OperatorLexemeIndex - Les nœuds conteneurs conservent tableaux, dictionnaires et procédures imbriqués sans normaliser leur orthographe d'origine, si bien que les éditions restent préservant les tokens
- Lisez les nœuds via
THPDFContentStreamAST.GetNodeau lieu de toucher directement au tableau interne de nœuds